Xalan TLP svnsubpub hosting and TLP stylebook sources
diff --git a/docs/xalan/charter.html b/docs/xalan/charter.html
new file mode 100644
index 0000000..c6a96b7
--- /dev/null
+++ b/docs/xalan/charter.html
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan Project Charter</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="index.html">

+<img alt="Trademark Logo" src="resources/Xalan-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Apache Xalan Project </a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan Project Charter</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="index.html">Apache Xalan</a>

+</li>

+<li>Charter<br />

+</li></ul><hr /><ul></ul>

+<p class="navGroup">

+<em>Projects</em>

+</p><ul>

+<li>

+<a href="xalan-c/index.html">Xalan C++</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/index.html">Xalan Java</a>

+</li></ul><hr /><ul></ul>

+<p class="navGroup">

+<em>Mail Lists</em>

+</p><ul>

+<li>

+<a href="http://marc.theaimsgroup.com/?l=xalan-dev ">Developers Archive</a>

+</li>

+<li>

+<a href="http://marc.theaimsgroup.com/?l=xalan-c-users">C Users Archive</a>

+</li>

+<li>

+<a href="http://marc.theaimsgroup.com/?l=xalan-j-users">J Users Archive</a>

+</li></ul><hr /><ul></ul>

+<p class="navGroup">

+<em>Resources</em>

+</p><ul>

+<li>

+<a href="http://www.apache.org/">Apache</a>

+</li>

+<li>

+<a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>

+</li>

+<li>

+<a href="http://www.apache.org/licenses/">Licenses</a>

+</li>

+<li>

+<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>

+</li>

+<li>

+<a href="http://www.apache.org/foundation/thanks.html">Thanks</a>

+</li>

+<li>

+<a href="http://www.apache.org/security/">Security</a>

+</li></ul><hr /><ul></ul>

+</div>

+<div id="content">

+<h2>Xalan Project Charter</h2>

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xalan Project Charter</h3>

+  <p>The following charter applies to all Xalan projects.</p>

+  

+

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>1 INTRODUCTION</h3>

+   <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>

+  

+

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>2 MISSION</h3>

+   <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>

+  

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>3 HISTORY</h3>

+   <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>

+  

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>4 TERMS</h3>

+   <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>

+       

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>5 THE PROJECT MANAGEMENT COMMITTEE</h3>

+   <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 <a href="http://incubator.apache.org">http://incubator.apache.org</a>).</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

+      <a href="http://www.apache.org/foundation/bylaws.html">

+      http://www.apache.org/foundation/bylaws.html</a> 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>

+   

+

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>6 SUBPROJECTS</h3>

+   <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>

+       

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>7 CONTRIBUTORS</h3>

+   <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)"

+      (<a href="http://www.apache.org/licenses/icla.txt">http://www.apache.org/licenses/icla.txt</a>)

+      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)", 

+      (<a href="http://www.apache.org/licenses/cla-corporate.txt">http://www.apache.org/licenses/cla-corporate.txt</a>)

+      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 (<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)?</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>

+     

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>8 COMMITTERS</h3>

+   <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>

+     

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>9 INFRASTRUCTURE</h3>

+   <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 <a href="http://xalan.apache.org">xalan.apache.org</a> 

+      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>

+   

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>10 LICENSING</h3>

+   <p>10.1 All contributions to the Apache Xalan project adhere to the "Apache

+      Software Foundation License, Version 2.0"

+      (<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>).

+      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>

+       

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>11 THE DEVELOPMENT PROCESS</h3> 

+   <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>

+   

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>12 VOTING</h3>

+   <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>

+   

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>13 RELATIONSHIP TO OTHER APACHE PROJECTS</h3>

+   <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>

+         

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/index.html b/docs/xalan/index.html
new file mode 100644
index 0000000..45bc527
--- /dev/null
+++ b/docs/xalan/index.html
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: The Apache Xalan Project</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="index.html">

+<img alt="Trademark Logo" src="resources/Xalan-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Apache Xalan Project </a>

+</th>

+</tr>

+<tr>

+<td valign="middle">The Apache Xalan Project</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>Apache Xalan<br />

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul></ul>

+<p class="navGroup">

+<em>Projects</em>

+</p><ul>

+<li>

+<a href="xalan-c/index.html">Xalan C++</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/index.html">Xalan Java</a>

+</li></ul><hr /><ul></ul>

+<p class="navGroup">

+<em>Mail Lists</em>

+</p><ul>

+<li>

+<a href="http://marc.theaimsgroup.com/?l=xalan-dev ">Developers Archive</a>

+</li>

+<li>

+<a href="http://marc.theaimsgroup.com/?l=xalan-c-users">C Users Archive</a>

+</li>

+<li>

+<a href="http://marc.theaimsgroup.com/?l=xalan-j-users">J Users Archive</a>

+</li></ul><hr /><ul></ul>

+<p class="navGroup">

+<em>Resources</em>

+</p><ul>

+<li>

+<a href="http://www.apache.org/">Apache</a>

+</li>

+<li>

+<a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>

+</li>

+<li>

+<a href="http://www.apache.org/licenses/">Licenses</a>

+</li>

+<li>

+<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>

+</li>

+<li>

+<a href="http://www.apache.org/foundation/thanks.html">Thanks</a>

+</li>

+<li>

+<a href="http://www.apache.org/security/">Security</a>

+</li></ul><hr /><ul></ul>

+</div>

+<div id="content">

+<h2>The Apache Xalan Project</h2>

+

+<p>Xalan is an XSLT processor for transforming XML documents into HTML, text, or

+other XML document types.  It uses the Xerces (XML Parser) to convert XML 

+documents to internal nodesets.</p>

+

+<p>The project name and logo are derived from the ancient Xalam musical instrument

+found in Africa. Note the difference in spelling.</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xalan</h3>

+<p>Xalan has moved out of the XML project and is now a project in its own right. 

+You will find links to all the Xalan subprojects as well as our charter on the menu 

+at the left of the screen. </p>

+

+<p>The old releases of Xalan still reside in the XML Project archives.</p>

+<ul>

+

+  <li>

+<a href="http://xml.apache.org/xalan-c">Xalan C++ Version 1.10</a>

+</li>

+  <li>

+<a href="http://xml.apache.org/xalan-j">Xalan Java Version 2.7.1</a>

+</li>

+</ul>

+

+<p>The links on the left navigation panel point to the current documentation.</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>What is Xalan?</h3>

+<p>

+As our charter will tell you, the Apache Xalan Project 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.</p>

+<p>There are currently two subprojects under the Apache Xalan Project:  

+<a href="http://xml.apache.org/xalan-c/">Xalan C++</a>, and 

+<a href="http://xml.apache.org/xalan-j/">Xalan Java</a>, representing

+C++ and Java implementations of the <a href="http://www.w3.org/TR/xslt">W3C XSL Transformations (XSLT) 

+Version 1.0</a> and the <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a> 

+recommendations.</p> 

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>What is XSLT and XPath?</h3>

+<p>XSLT is the first part of the <a href="http://www.w3.org/TR/xsl/">Extensible Stylesheet Language (XSL)</a>. 

+It includes the XSL Transformation (XSLT) vocabulary and XPath, a language for addressing parts of XML documents. 

+XSL also includes a vocabulary for specifying formatting semantics, however, 

+this is not part of the Apache Xalan Project.  For more information on formatting objects, see the 

+<a href="http://xml.apache.org/fop/">Apache XML FOP (Formatting Objects Project)</a>.

+ </p>

+

+<p>XSLT implementations, sometimes referred to as XSLT processors, use an XSL stylesheet to transform

+XML documents into HTML, text, or other XML document types.   In structural terms, an XSL stylesheet 

+specifies the transformation of one tree of nodes (the XML input) into another tree of nodes (the output or 

+transformation result).</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>License information</h3>

+<p>Xalan C++ and Xalan Java are made available under the <a href="http://www.apache.org/licenses/LICENSE-2.0">

+Apache Software License, Version 2.0.</a>

+</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting Involved</h3> 

+<p>We always appreciate people and organizations that wish to help

+in the development and project support efforts.</p>

+

+<p>You can follow the activity by reviewing the project

+mail lists.  Posting messages to these lists is how we

+coordinate the activites related to the our projects.</p>

+

+<p>The developers mail list [<a href="mailto:xalan-dev@xml.apache.org">xalan-dev</a>]

+ is for communicating issues to the Apache Xalan development teams.

+Both the Java and C/C++ groups monitor the developers list.

+All project change notices are posted to the developers list.</p>

+

+<p>Each sub-project has its own mail list for project specific user

+issues.</p>

+

+<p>The user list for Xalan C++ 

+ [<a href="mailto:xalan-c-users@xml.apache.org">xalan-c-users</a>] is 

+for general user comments on the Xalan C++ project.</p>

+

+<p>The user list for Xalan Java 

+ [<a href="mailto:xalan-j-users@xml.apache.org">xalan-j-users</a>] is

+for general user comments on the Xalan Java project.</p>

+

+<p>The Apache Software Foundation has guidance on 

+ <a href="http://www.apache.org/foundation/getinvolved.html">how to 

+participate</a> in the various development efforts.</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/resources/Xalan-Logo-tm.png b/docs/xalan/resources/Xalan-Logo-tm.png
new file mode 100644
index 0000000..9a08808
--- /dev/null
+++ b/docs/xalan/resources/Xalan-Logo-tm.png
Binary files differ
diff --git a/docs/xalan/resources/Xalan-Logo.txt b/docs/xalan/resources/Xalan-Logo.txt
new file mode 100644
index 0000000..a405efc
--- /dev/null
+++ b/docs/xalan/resources/Xalan-Logo.txt
@@ -0,0 +1,85 @@
+

+The XALAN Logo

+

+Graphic: A stylized version of the African Xalam instrument.

+

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/docs/xalan/resources/Xalan-Trademark.txt b/docs/xalan/resources/Xalan-Trademark.txt
new file mode 100644
index 0000000..5f5c264
--- /dev/null
+++ b/docs/xalan/resources/Xalan-Trademark.txt
@@ -0,0 +1,106 @@
+

+The XALAN Logo - Trademark Description

+--------------------------------------

+

+Prepared By:  

+

+	Steven J. Hathaway

+

+	(shathaway@apache.org)

+

+	September 3, 2011

+

+
+

+Prepared for:

+

+	The Apache Software Foundation

+

+--------------------------------------

+

+Graphic: A stylized version of the African Xalam instrument.

+

+Note: the difference in spelling.

+

+	Xalam is the African Musical Instrument

+	Xalan is the Apache Xalan Software Project

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark symbol)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation (trademark name)

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/docs/xalan/resources/apache-xalan.css b/docs/xalan/resources/apache-xalan.css
new file mode 100644
index 0000000..fc2fa1a
--- /dev/null
+++ b/docs/xalan/resources/apache-xalan.css
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */

+

+/*

+ * 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.

+*/

+

+/* This (css) stylesheet renders the xhtml web pages that were generated

+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.

+*/

+

+html > bod  {left:0;}

+body {

+/*  background-color: white; */

+  background-color: #f8f8f0;

+  color: black;

+  padding: 0;

+  margin: 0;

+  font-family: arial, "lucida console", san-serif;

+}

+

+/* Emulate table align=center */

+div.centered, td.centered {

+  text-align: center;

+}

+

+div.centered table {

+  margin: 0 auto;

+  text-align: left;

+}

+

+/*

+ * ID Sections

+ */

+

+#content {

+  width: 80%;

+  float: left;

+  font-size: 12pt;

+  padding-top: 1em;

+  padding-left: 5px;

+  margin-left: 10px;

+  border-left: 1px solid #aaa;

+}

+

+#navLeft {

+  clear: left;

+  width: 15%;

+  float: left;

+  padding: 2px;

+  margin-left: 1%;

+  color: red;

+  position: relative;

+  left: 1px;

+  background-color: #eee;

+}

+

+.navGroup {

+  color: Black;

+  font-size: 14pt;

+}

+

+

+#title {

+  color: black;

+  background-color: #eee;

+  text-align: center;

+  border-bottom: 1px solid #aaa;

+  padding: 0;

+  vertical-align: middle;

+}

+

+table.HdrTitle {

+  font-size: 18pt;

+}

+

+table.HdrButtons {

+  font-size: 8pt;

+  background-color: #ccf;

+  align: "center";

+  border: "1";

+

+}

+

+#footer {

+    clear: both;

+    margin: 0 2em;

+    color: #444;

+    background-color: #ddd;

+    text-align: center;

+    padding: .5em 0;

+    font-size: 75%;

+    border-top: 1px solid #aaa;

+}

+

+/*

+ * Anchors

+ */

+

+a {

+  color: blue;

+  text-decoration: undedrline;

+}

+

+a img {

+  border: 0;

+}

+

+a:hover {

+  text-decoration: none;

+  background-color: #d7c9c9;

+}

+

+/*

+ * Headers

+ */

+

+h1 {}

+

+#title h1 {

+  padding: 1px 0;

+  margin: 0;

+  float: right;

+  width: 60%;

+  font-size: 20pt;

+  text-align: center;

+}

+

+#content h1 { background-color: #8af }

+

+h2 {}

+

+#title h2 {

+  font-size: 14pt;

+  width: 60%;

+  text-alignment: center;

+  padding: 1px 0;

+  margin: 0;

+}

+

+#content h2 { background-color: #9bf }

+

+#content h2.year {

+  background-color: #ddd;

+  text-align: center;

+}

+

+h3 {}

+

+#content h3.monthName {

+  background-color: #333;

+  text-align: center;

+}

+

+#content h3 { background-color: #acf }

+

+h4{}

+

+#content h4.eventTitle {

+  margin-left: 1%;

+  border-bottom: 1px solid blue;

+}

+

+#content h4 { background-color: #cdf }

+

+/*

+ * Tables

+ */

+

+th {}

+

+td {}

+

+th.content {background-color: #4BD }

+td.content {background-color: #AEF }

+

+/*

+ * Lists and navLeft

+ */

+

+ul {}

+

+#navLeft ul {

+  list-style-type: none;

+  margin: 0;

+  padding: 0;

+}

+

+#navLeft ul li {

+  margin: 0;

+}

+

+#navLeft ul li p {

+  margin: 0;

+}

+

+#navLeft ul li ul {

+  list-style-type: none;

+  font-size: 90%;

+  margin: 0 2em;

+}

+

+#navLeft ul li ul li {

+  margin: 0;

+}

+

+/*

+ * Paragraphs

+ */

+

+p {}

+

+#navLeft p {

+  text-align: center;

+  padding: 0 auto;

+  margin: 0;

+}

+

+#footer p {

+  padding: 0;

+}

+

+#content p.topalign {

+  vertical-align: middle;

+  height: 2em;

+  text-align: center;

+  width: 100%;

+  padding: .5em;

+  border: 1px solid #ddd;

+}

+

+#content p.topalign img {

+  vertical-align: middle;

+  text-align: text-middle;

+}

+

+#content p.quote {

+  color:black;

+  font-style: italic;

+  font-size: 110%;

+  margin-left: 10%;

+  margin-right: 10%;

+  padding 1em;

+  border: 1px solid #ddd;

+  text-align: center;

+}

+

+#content p.navbar {

+  font-size: 90%;

+  text-align: center;

+  border-top: 1px solid #ddd;

+  border-bottom: 1px solid #ddd;

+}

+

+blockquote {}

+

+blockquote.note {

+  font-size: 80%;

+  border: 1px solid #ddd;

+  background-color: #eee;

+}

+

+td.noteImg {

+  background-color: white;

+  border: 0;

+}

+

+td.noteTxt {

+  background-color: white;

+  font-size: 120%;

+  border: 2px solid #ddd;

+  background-color: #eee;

+}

+

+/**

+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD

+ ** <caution>..</caution> and <warning>..</warning>

+ **

+ * 

+ * td.cautionImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.cautionTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+ * 

+ * td.warningImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.warningTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+**/

+

+

+blockquote.source {

+  font-size: 75%;

+}

+

+code {

+  font-size: 75%;

+}

+

+

+/*

+ * Special Table (note)

+ */

+

+#notediv div { background-color: white }

+

+table.note {

+  width: 90%;

+}

+

+td.noteImg {

+  background-color: white;

+  vertical-align: top;

+  border: 0;

+  width: 24;

+}

+

+td.noteTxt {

+  color: black;

+  background-color: #eee;

+  font-size: 90%;

+  border: 2px solid;

+  border-color: #ccc;

+}

+

+

+/*

+ * Images

+ */

+

+img {}

+

+

+#footer img {

+  border: 0;

+}

+

+

+/*

+ * Document Divisions

+ */

+

+div {}

+

+/*

+ * Pre

+ */

+

+pre {}

+

+

+/*

+ * Generic Classes

+ */

+

+.indented {

+  margin-left: 3%;

+}

+

+.topBanner {

+  float: right;

+  margin: 0;

+  border: 0;

+  vertical-align: middle;

+}

+

+.noborder {

+  border: 0;

+  margin: 0;

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

diff --git a/docs/xalan/resources/asf_logo.png b/docs/xalan/resources/asf_logo.png
new file mode 100644
index 0000000..66c34f0
--- /dev/null
+++ b/docs/xalan/resources/asf_logo.png
Binary files differ
diff --git a/docs/xalan/resources/note.gif b/docs/xalan/resources/note.gif
new file mode 100644
index 0000000..3394222
--- /dev/null
+++ b/docs/xalan/resources/note.gif
Binary files differ
diff --git a/docs/xalan/xalan-c/NET_options.jpg b/docs/xalan/xalan-c/NET_options.jpg
new file mode 100644
index 0000000..126a3a9
--- /dev/null
+++ b/docs/xalan/xalan-c/NET_options.jpg
Binary files differ
diff --git a/docs/xalan/xalan-c/builddocs.html b/docs/xalan/xalan-c/builddocs.html
new file mode 100644
index 0000000..4287941
--- /dev/null
+++ b/docs/xalan/xalan-c/builddocs.html
@@ -0,0 +1,534 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Building The Documents</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Building The Documents</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>Build Documents<br />

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Building The Documents</h2>

+

+<ul>

+<li>

+<a href="#buildweb">Building the Xalan-C Web Pages</a>

+</li>

+  <ul>

+  <li>

+<a href="#b_web_1">Documentation Source Tree</a>

+</li>

+  <li>

+<a href="#b_web_2">Destination Build Tree</a>

+</li>

+  <li>

+<a href="#b_web_3">The Web Page Build Environment</a>

+</li>

+  <li>

+<a href="#b_web_4">Preparing the Navigation File</a>

+</li>

+  <li>

+<a href="#b_web_5">Creating the Web Pages</a>

+</li>

+  </ul>

+<li>

+<a href="#buildapi">Building the Xalan-C API Reference</a>

+</li>

+  <ul>

+  <li>

+<a href="#b_api_1">API Configuration Source Tree</a>

+</li>

+  <li>

+<a href="#b_api_2">Destination Path for API Web Pages</a>

+</li>

+  <li>

+<a href="#b_api_3">Build the API Web Pages</a>

+</li>

+  </ul>

+<li>

+<a href="#integrateapi">Integrate API With Xalan-C Project Web Pages</a>

+</li>

+</ul>

+

+<a name="buildweb">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Building the Xalan-C Web Pages</h3>

+

+<p>This section shows how to build the documentation products for Xalan-C/C++. 

+This is a subproject of the ASF XALAN PMC.

+</p>

+<p>The XALAN PMC project web page [<a href="http://xalan.apache.org">http://xalan.apache.org</a>] is a top-level page 

+with branches to the subprojects that include the Java and C/C++ code libraries.

+</p>

+<p>The Xalan-C/C++ home web page [<a href="http://xml.apache.org/xalan-c">http://xml.apache.org/xalan-c</a>] 

+is the content 

+construction that is being described here.

+</p>

+<p>The Apache StyleBook Java program is no longer needed to create useful web pages. 

+You should have a standard XSLT transform utility. 

+The "Xalan" command-line program distributed with Xalan-C works just fine.

+</p>

+

+<a name="b_web_1">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Documentation Source Tree</h4>

+

+<blockquote class="source">

+<pre>

+xalan/c/trunk/xdocs/sources/

+    entities.ent        -- Product specific entities

+    make-book.bat       -- Build All Web Pages

+    make-xalan.bat      -- Build Single Web Page

+    xalan-book.xslt     -- Transformation for StyleBook XML

+    xalan.xml	        -- The Navigation Panel for Xalan-C Pages

+

+xalan/c/trunk/xdocs/sources/xslt-resources/

+    {Common components used by Xalan-C Web Pages}

+    apache-xalan.css    -- The Web Page Presentation Style

+    asf_logo.png        -- The ASF Trademark Logo

+    note.gif            -- A (note:) graphic

+

+xalan/c/trunk/xdocs/sources/xalan/

+    {The StyleBook XML Sources for Xalan-C Web Pages}

+    index.xml           -- This creates the root index.html

+    resources.xml       -- A resources dispatch page

+

+xalan/c/trunk/xdocs/style/dtd/

+    {Resources for Apache StyleBook Validation}

+    blocks.ent

+    book.dtd

+    changes.dtd

+    characters.ent

+    document.dtd

+    faqs.dtd

+    links.ent

+    markup.ent

+</pre>

+</blockquote>

+

+

+<a name="b_web_2">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Destination Build Tree</h4>

+

+<blockquote class="source">

+<pre>

+xalan/c/trunk/build/docs/html/

+    {The Xalan-C project html Web Pages go here}

+    index.html          -- This is the root of the Xalan-C subproject

+

+xalan/c/trunk/build/docs/html/resources/

+    {Resources to support Xalan-C project html Web Pages}

+    apache-xalan.css

+    asf_logo.png

+    note.gif

+

+xalan/c/trunk/build/docs/html/apiDocs/

+    {The Xalan-C API Web Pages go here}

+    index.html          -- This is the root of the Xalan-C API Documents

+</pre>

+</blockquote>

+

+

+<a name="b_web_3">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>The Web Page Build Environment</h4>

+

+<p>The examples here describe how to build the Xalan-C/C++ web pages when

+connected to the a copy of the (xdocs/sources) directory. So connect to it.

+</p>

+<p>The StyleBook DTD validation files are in the (xdocs/style/dtd) directory.

+</p>

+<p>The StyleBook XML sources for the web pages are in the (xdocs/sources/xalan) directory.  Each web page is associated with an XML file in this directory.  The transformed output is to be placed in the (build/docs/html) directory.  The source XML file and the destination HTML file have the same base filename.

+</p>

+<p>The Web Page output directory is (build/docs/html).

+</p>

+<p>After creating the web pages, copy the (xdocs/sources/xslt-resources/*) files to the (build/docs/html/resources) directory.

+</p>

+<p>Graphic images for individual web pages are in the (xdocs/xalan-graphic) directory and later copied to the (build/docs/html) directory.

+</p>

+

+

+<a name="b_web_4">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Preparing the Navigation File</h4>

+

+<p>The (xdocs/sources/xalan.xml) is the project navigation file that is on 

+the left side of each web page. 

+The root element is &lt;book&gt; 

+containing child elements of &lt;hidden&gt;, &lt;external&gt;, 

+&lt;document&gt;, &lt;resources&gt;, &lt;faqs&gt;, and &lt;separator&gt;.  The format of this navigation file is inherited from the StyleBook Java program.  Our stylesheet uses the &lt;book&gt; to provide only a navigation panel.  It does not control the production of the entire suite of web pages.

+</p>

+<p>The markup is validated by DTD and entity definitions in the (xdocs/style/dtd) directory.

+</p>

+<p>The "id=" attribute is the name of the web page file without extension.

+</p>

+<p>The "label=" attribute is the navigation text.

+</p>

+<p>The "source=" attribute is the name of the StyleBook XML source file.

+</p>

+<p>The "href=" attribute is a link to an external resource.

+</p>

+

+

+<a name="b_web_5">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Creating the Web Pages</h4>

+

+<p>The XSLT transformation utility must support top-level parameters. 

+The <code>Xalan</code> command-line program built and distributed with the this project 

+has sufficient capability to create the project web pages. 

+The <code>xalan-book.xslt</code> stylesheet is designed to interpret StyleBook XML and create XHTML web pages for the Xalan-C project.

+</p>

+<p>Example: Create the <code>index.html</code> web page from <code>index.xml</code> source. The arguments are shown on separate lines for convenience of presentation.

+</p>

+<blockquote class="source">

+<pre>

+Xalan.exe 

+    -p sectionid "'index'" 

+    -p createdate "'Tue 08/09/2011'" 

+    xalan\index.xml

+    xalan-book.xslt

+    &gt; ..\..\build\docs\html\index.html

+</pre>

+</blockquote>

+

+<p>Do the same for each web page replacing <code>index</code>, 

+<code>index.xml</code>, and <code>index.html</code> in the above example.

+</p>

+<p>Other command-line XSLT processors would have a different calling syntax.

+Check your documentation.</p>

+<p>I use batch files or shell scripts to automate this process. 

+The following batch files are what I use on Windows platforms.

+</p>

+<p>The <code>make-book.bat</code> file is used to create all web pages:

+</p>

+<blockquote class="source">

+<pre>

+  mkdir ..\..\build\docs\html\resources

+

+  call make-xalan usagepatterns

+  call make-xalan samples

+  call make-xalan resources

+  call make-xalan install

+  call make-xalan download

+  call make-xalan overview

+  call make-xalan charter

+  call make-xalan whatsnew

+  call make-xalan extensionslib

+  call make-xalan commandline

+  call make-xalan readme

+  call make-xalan releasenotes

+  call make-xalan programming

+  call make-xalan getstarted

+  call make-xalan index

+  call make-xalan extensions

+  call make-xalan faq

+  call make-xalan license

+  call make-xalan buildlibs

+  call make-xalan secureweb

+

+  copy xalan-graphic\*.* ..\..\build\docs\html

+  copy xslt-resources\*.* ..\..\build\docs\html\resources

+</pre>

+</blockquote>

+

+<p>The <code>make-xalan.bat</code> file to create a single web page:

+</p>

+<blockquote class="source">

+<pre>

+  ::

+  :: Set the current path to include a stylesheet transformation utility

+  ::

+  :: %1               The document filename (without extension) to transform

+  ::

+  :: %XALANEXSLT%     The exslt stylesheet transformation utility

+  ::

+  :: %XALANSTYLE%     The XSLT stylesheet to convert STYLEBOOK markup

+  ::

+  :: %XALANXMLDIR%    Source directory of STYLEBOOK markup XML documents

+  ::

+  :: %XALANOUTDIR%    Target directory of XHTML web page documents

+  ::

+  :: %WEBCREATED%     Web Page Creation Date

+  ::

+  :: sectionid        Top-level stylesheet parameter (document file id)

+  ::

+  :: createdate       Top-level stylesheet parameter (web page creation date)

+  ::

+

+  SET WEBCREATED=%DATE%

+  SET XALANEXSLT=..\..\bin\xalan.exe

+  SET XALANSTYLE=xalan-book.xslt

+  SET XALANXMLDIR=xalan

+  SET XALANOUTDIR=..\..\build\docs\html

+

+  "%XALANEXSLT%" -p sectionid "'%1'" -p createdate "'%WEBCREATED%'"   \

+      %XALANXMLDIR%\%1.xml %XALANSTYLE%  &gt;% XALANOUTDIR%\%1.html

+</pre>

+</blockquote>

+

+

+

+<a name="buildapi">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Building the Xalan-C API Reference</h3>

+

+<p>This section shows how to build the Xalan-C/C++ application program interface (API) documents using the <a href="http://www.doxygen.org">Doxygen</a> and 

+<a href="http://www.graphviz.org">GraphViz</a> programs.  These required software packages are available for most Unix systems.

+</p>

+

+<a name="b_api_1">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>API Configuration Source Tree</h4>

+

+<blockquote class="source">

+<pre>

+xalan/c/trunk/src/xalanc/       -- [*.h, *.hpp] source code files

+

+xalan/c/trunk/xdocs/

+    DoxyfileXalan               -- The doxygen configuration file

+

+xalan/c/trunk/xdocs/html/apiDocs/

+    asf_logo_wide.gif           -- The wide ASF trademark logo

+    footer.html                 -- The footer html fragment for copyright

+    header.html                 -- Header html fragment for document title

+    header-local.html           -- Header html fragment for optional title

+</pre>

+</blockquote>

+

+<p>Note: (ApacheLogo.jpg) is replaced with (asf_logo_wide.gif).

+</p>

+<p>Note: (diagramnotes.html) is replaced with (graph_legend.html) created by doxygen.

+</p>

+

+

+<a name="b_api_2">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Destination Path for API Web Pages</h4>

+

+<p>The Xalan-C/C++ API pages are constructed here.</p>

+<blockquote class="source">

+<pre>

+    xalan/c/trunk/build/docs/apiDocs/html

+</pre>

+</blockquote>

+

+

+<a name="b_api_3">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Build the API Web Pages</h4>

+

+<p>You must have usable "doxygen" and "dot" programs in your path.  The "dot" program is part of the GraphViz distribution.

+</p>

+<p>Connect to your development sources or SVN snapshot.<br />

+<blockquote class="source">

+<pre>

+xalan/c/trunk/xdocs/

+</pre>

+</blockquote>

+Run the doxygen (or doxywizard) program.<br />

+<blockquote class="source">

+<pre>

+doxygen DoxyfileXalan 2&gt;errors.log | tee doxygen.log

+</pre>

+</blockquote>

+Examine the (errors.log) file for any fatal errors.  Lots of warnings are ok.

+You can examine the constructed web pages with your favorite browser.<br />

+<blockquote class="source">

+<pre>

+% cd xalan/c/trunk/build/docs/apiDocs/html

+% iceweasel index.html &amp;

+</pre>

+</blockquote>

+</p>

+

+

+

+<a name="integrateapi">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Integrate API With Xalan-C Project Web Pages</h3>

+

+<p>Copy the contents of <br />

+<blockquote class="source">

+<pre>

+xalan/c/trunk/build/docs/apiDocs/html/*

+</pre>

+</blockquote>

+to the Xalan-C Project Web Pages found at <br />

+<blockquote class="source">

+<pre>xalan/c/trunk/build/docs/html/apiDocs/

+</pre>

+</blockquote>

+Copy the trademark logo <br />

+<blockquote class="source">

+<pre>

+xalan/c/trunk/xdocs/html/apiDocs/asf_logo_wide.gif

+</pre>

+</blockquote>

+to its final resting place <br />

+<blockquote class="source">

+<pre>

+xalan/c/trunk/build/docs/html/apiDocs/

+</pre>

+</blockquote>

+</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/buildlibs.html b/docs/xalan/xalan-c/buildlibs.html
new file mode 100644
index 0000000..2657e6f
--- /dev/null
+++ b/docs/xalan/xalan-c/buildlibs.html
@@ -0,0 +1,901 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Building Xalan-C/C++</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Building Xalan-C/C++</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>Build Libraries<br />

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Building Xalan-C/C++</h2>

+<ul>

+<li>

+<a href="#winbldenv">Windows Build Environment</a>

+</li>

+<ul>

+<li>

+<a href="#winbld">Windows Basic Build Instruction</a>

+</li>

+<li>

+<a href="#winbldcmd">Sample Windows Build Command File</a>

+</li>

+<li>

+<a href="#winbldinst">Installing the Xalan Library on Windows</a>

+</li>

+</ul>

+<li>

+<a href="#unixbldenv">UNIX Build Environment</a>

+</li>

+<ul>

+<li>

+<a href="#unixlibpath">Finding Runtime Libraries</a>

+</li>

+<li>

+<a href="#unixbldxalan">Building the Xalan-C/C++ XSLT Libraries for UNIX</a>

+</li>

+</ul>

+<li>

+<a href="#unixcompileref">Reference on Unix Platforms and C++ Compilers</a>

+</li>

+<li>

+<a href="#xercesmodules">Xerces-C/C++ Transcoders and Plug-in Modules</a>

+</li>

+

+</ul>

+

+<br />

+<p>The Xalan-C/C++ XSLT library is built upon the Xerces-C/C++ XML Parser library. Before compiling the Xalan-C/C++ XSLT library, you must have a usable Xerces-C/C++ library.

+</p>

+<p>You can either install a compatible binary distribution of Xerces-C/C++ or build your own from a source distribution of Xerces-C/C++.  You can gain additional capability if you build the Xerces-C/C++ XML Parser library from sources.  The Xerces-C/C++ binary distribution is not built for the IBM-ICU libraries.  The IBM-ICU libraries provide additional transcoding services.

+</p>

+<p>Building the source code packages ensures that the resulting packages are proper for your system.  There are various binary distributions available, but incompatibilities between C++ compilers (even between compiler versions) are known to cause issues with sharing of libraries.

+</p>

+<p>We don't have persons yet committed to build binary distribution releases.

+</p>

+<p>You can get more information on the Xerces-C/C++ distributions at the <a href="http://xml.apache.org/xerces-c">http://xml.apache.org/xerces-c</a> web site.

+</p>

+

+<a name="winbldenv">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Windows Build Environment</h3>

+

+<p>Build support for Microsoft Visual Studio (VC6) is deprecated.

+</p>

+<p>Building Xalan-C/C++ with Microsoft Visual Studio (VC6) requires the Xerces-C/C++ version 2.8 or older releases.  Microsoft VC6 is removed from the Xerces-C/C++ Version 3.x releases.

+</p>

+<p>Building Xalan-C/C++ with Microsoft Visual Studio .NET 2008 (VC9) requires Xerces-C/C++ version 3.1 or newer.  Building with Microsoft Visual Studio .NET 2010 (VC10) requires Xerces-C/C++ version 3.1.1 or newer.

+</p>

+<p>Environment variables XERCESCROOT and XALANCROOT are required.  Environment ICUROOT is used only if building Xalan-C/C++ with IBM-ICU library support.

+</p>

+<table border="1">

+<tr>

+   <td class="content" rowspan="1" colspan="1">XERCESCROOT</td>

+<td class="content" rowspan="1" colspan="1">The Xerces-C/C++ installation directory</td>

+</tr>

+<tr>

+   <td class="content" rowspan="1" colspan="1">XALANCROOT</td>

+<td class="content" rowspan="1" colspan="1">The Xalan-C/C++ source directory</td>

+</tr>

+<tr>

+   <td class="content" rowspan="1" colspan="1">ICUROOT</td>

+<td class="content" rowspan="1" colspan="1">The IBM-ICU installation directory (only if building with ICU support)</td>

+</tr>

+</table>

+

+<p>I like to create command or batch files to setup the build environment variables and start the Visual Studio .NET development system using the custom build environment.  I find this much easier than navigating the graphical interface to add custom build environments. The Microsoft *.vsprops custom property files are not available in the early versions of Visual Studio .NET platforms.

+</p>

+<a name="winbld">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Windows Basic Build Instruction</h4>

+<p>If you want to create binary packages from the sources, you may wish to look

+at the <a href="#winbldcmd">Windows Build Command File</a> in the next section.

+</p>

+<p>A quick experiment in building for Windows is documented in the remainder of this section.

+</p>

+<p>I have Visual Studio 2005, 2008, 2010 on one computer and VC6 and Visual Studio 2003

+installed on another computer.

+</p>

+<p>Microsoft Visual Studio .NET products will usually install 

+a Visual Studio Command Prompt icon in the Visual Studio Tools subfolder 

+for each version of Visual Studio installed on your computer. 

+The Visual Studio Command Prompt automatically sets a basic development environment 

+using a "vsvars32.bat" or "vcvarsall.bat" script

+for 32-bit or 64-bit platform builds, and leaves you at the command line for 

+customizing your environment.

+</p>

+<p>You then define the XERCESCROOT, XALANCROOT, and ICUROOT environment variables.

+</p>

+<p>If the Xerces-C DLL files are not in directory %XERCESCROOT%\bin, you must add

+a directory to the PATH environment variable so the Xerces-C DLL files can be

+found.

+</p>

+<p>You then launch the Visual Studio .NET by calling <code>devenv</code> with a

+path to the <code>Xalan.sln</code> file as a parameter.

+</p>

+<p>The following section describes how you can build your own scripts to create

+binary packages from Xalan-C compiled sources for the various versions of

+Microsoft Visual Studio products.

+</p>

+

+<a name="winbldcmd">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Sample Windows Build Command File</h4>

+

+<p>I like to use this template for both Xerces-C and Xalan-C builds from sources.  The sample shown here is for Xalan-C/C++ because the installation of Xerces-C/C++ should already have been done.

+</p>

+<blockquote class="source">

+<pre>

+SET XERCESCROOT="path to xerces-c installation"

+SET XALANCROOT="sources\xalan\c\"

+</pre>

+</blockquote>

+<p>Set the xalan project path for your version of Microsoft Visual Studio .NET.

+</p>

+<blockquote class="source">

+<pre>

+:: VS 2003 (VC7.1)

+SET XALANCPROJDIR=%XALANCROOT%\Projects\Win32\VC7.1

+

+:: VS 2005 (VC8)

+SET XALANCPROJDIR=%XALANCROOT%\Projects\Win32\VC8

+

+:: VS 2008 (VC9)

+SET XALANCPROJDIR=%XALANCROOT%\Projects\Win32\VC9

+

+:: VS 2010 (VC10)

+SET XALANCPROJDIR=%XALANCROOT%\Projects\Win32\VC10

+</pre>

+</blockquote>

+<p>Set some environment variables so we can easily copy or install the products after they have been built.

+</p>

+<blockquote class="source">

+<pre>

+:: VS 2003 (VC7.1)

+SET XALANCBUILDDIR=%XALANCROOT%\Build\Win32\VC7.1

+

+:: VS 2005 (VC8)

+SET XALANCBUILDDIR=%XALANCROOT%\Build\Win32\VC8

+

+:: VS 2008 (VC9)

+SET XALANCBUILDDIR=%XALANCROOT%\Build\Win32\VC9

+

+:: VS 2010 (VC10)

+SET XALANCBUILDDIR=%XALANCROOT%\Build\Win32\VC10

+</pre>

+</blockquote>

+<p>We use this Visual Studio .NET solution file.

+</p>

+<blockquote class="source">

+<pre>

+SET XALANCBUILDSLN=%XALANCPROJDIR%\xalan.sln

+</pre>

+</blockquote>

+<p>The <code>$(variable)</code> is expanded inside Visual Studio.<br />

+The <code>%variable%</code> is expanded by the cmd utility before launching the Visual Studio.

+</p>

+<blockquote class="source">

+<pre>

+SET PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\system32\Wbem

+SET INCLUDE=

+SET LIB=

+SET LIBPATH=

+SET SOURCE=

+</pre>

+</blockquote>

+<p>Set the default environment variables for your version of Microsoft Visual Studio .NET.

+</p>

+<blockquote class="source">

+<pre>

+:: VS 2000 (VC7) - obsolete

+call "%VS70COMNTOOLS%vsvars32.bat"

+

+:: VS 2003 (VC7.1) 32-bit platform

+call "%VS71COMNTOOLS%vsvars32.bat"

+

+:: VS 2005 (VC8) 32-bit platform

+call "%VS80COMNTOOLS%vsvars32.bat"

+

+:: VS 2005 (VC8) 64-bit platform

+call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64

+

+:: VS 2008 (VC9) 32-bit platform

+call "%VS90COMNTOOLS%vsvars32.bat"

+

+:: VS 2008 (VC9) 64-bit platform

+call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64

+

+:: VS 2010 (VC10) 32-bit platform

+call "%VS100COMNTOOLS%vsvars32.bat"

+

+:: VS 2010 (VC10) 64-bit platform

+call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64

+</pre>

+</blockquote>

+<p>The LIBPATH and SOURCE environment variables may not be properly 

+set by the vsvars32.bat command file.  You may wish to start your 

+Visual Studio .NET application without any custom environment 

+and examine the Tools -&gt; C/C++ project defaults for the various libraries. 

+Then specifically set the paths in the build command file for your project.

+</p>

+<p>The Xalan-C and Xerces-C libraries do not use the Microsoft Framework, 

+the "mfc" and the "atl" directives. Microsoft is deprecating their "mfc"

+Microsoft Foundation Classes.

+</p>

+<p>Define the necessary environment variables for building the Xalan-C/C++ libraries and sample programs.

+</p>

+<blockquote class="source">

+<pre>

+SET PATH=%PATH%;%XERCESCROOT%\bin

+

+SET INCLUDE=%INCLUDE%;%XERCESCROOT%\include;%XERCESCROOT%\src

+SET INCLUDE=%INCLUDE%;%XALANCROOT%\src

+

+SET LIB=%LIB%;%XERCESCROOT%\lib

+</pre>

+</blockquote>

+<p>If you are going to build for IBM-ICU support, then add the following environments.

+</p>

+<blockquote class="source">

+<pre>

+SET ICUROOT="path to ibm-icu installation"

+

+SET PATH=%PATH%;%ICUROOT%\bin

+SET INCLUDE=%INCLUDE%;%ICUROOT%\include

+SET LIB=%LIB%;%ICUROOT%\lib;%ICUROOT%\data

+</pre>

+</blockquote>

+<p>Now we should be ready to start the Microsoft Visual Studio .NET using our custom environment using the <code>%XALANCBUILDSLN%</code> solution.

+</p>

+<blockquote class="source">

+<pre>

+devenv.exe "%XALANCBUILDSLN%" /useenv

+</pre>

+</blockquote>

+

+<a name="winbldinst">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Installing the Xalan Library on Windows</h4>

+

+<p>The following command script will install the binary and header files to a target directory that is compatible with the XALANCROOT environment variable for creating applications. Environment variables other than XALANCTARGET are defined in the previous section, the <a href="#winbldcmd">Visual Studio .NET build example</a>.

+</p>

+<blockquote class="source">

+<pre>

+SET XALANCTARGET="path-to-target-directory"

+

+MKDIR "%XALANCTARGET%\bin"

+MKDIR "%XALANCTARGET%\include"

+MKDIR "%XALANCTARGET%\lib"

+

+CD "%XALANCBUILDDIR%\Release\Nls"

+COPY *.hpp "%XALANCTARGET%"\include

+

+CD "%XALANCBUILDDIR%\Release"

+COPY *.DLL "%XALANCTARGET%\bin"

+COPY *.LIB "%XALANCTARGET%\lib"

+COPY *.EXP "%XALANCTARGET%\lib"

+

+CD "%XALANCBUILDDIR%\Debug"

+COPY *.DLL "%XALANCTARGET%\bin"

+COPY *.PDB "%XALANCTARGET%\bin"

+COPY *.LIB "%XALANCTARGET%\lib"

+COPY *.EXP "%XALANCTARGET%\lib"

+

+CD "%XALANCROOT%\src

+XCOPY xalanc\*.hpp "%XALANCTARGET%\include\xalanc" /E /C /I /R /Y

+XCOPY xalanc\*.h   "%XALANCTARGET%\include\xalanc" /E /C /I /R /Y

+</pre>

+</blockquote>

+

+<a name="unixbldenv">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>UNIX Build Environment</h3>

+

+<p>I don't like building sources using root or superuser login.  I like to do builds in a directory separated from the source tree.  A debug build and release build will create shared objects of the same name.  I like to target these builds to separate directory trees.

+</p>

+<p>Release builds are targeted at the <code>/usr/local</code> file system.

+</p>

+<p>Debug builds are targeted at the <code>/opt/apache/debug</code> file system.

+</p>

+<p>Source trees are referenced wherever convenient.  Using the (<code>--srcdir</code>) configuration parameter allows the source tree to be separate from the build tree.  The source tree can even reside on read-only media.

+</p>

+<p>Product builds are done in a build directory path separate from the source tree.  This is the working directory from where you perform your builds and installs.

+</p>

+<p>

+<b>Source Trees:</b> (<code>--srcdir</code>) configuration parameter

+</p>

+<p>

+  	<code>/opt/xerces/c/&lt;trunk&gt;/</code>&lt;the Xerces-C/C++ XML parser library source distribution&gt;

+<br />

+  	<code>/opt/xalan/c/&lt;trunk&gt;</code>/&lt;the Xalan-C/C++ XSLT library source distribution&gt;

+</p>

+<p>If the source distribution is well-constructed, the source directory trees can be read-only.

+</p>

+<p>

+<b>Binary Installation Trees:</b> (<code>--prefix</code>) configuration parameter

+</p>

+<p>

+  	<code>/usr/local/</code>  &lt;the target for the 

+release binary installation&gt;

+<br />

+      	<code>./bin</code>    	The sample programs

+<br />

+      	<code>./lib</code>    	The shared and static library files

+<br />

+      	<code>./include</code>  	The library header files

+<br />

+<br />

+  	<code>/opt/apache/debug/</code>  &lt;the target for the 

+debug binary installation&gt;

+<br />

+      	<code>./bin</code>    	The sample programs

+<br />

+      	<code>./lib</code>    	The shared and static library files

+<br />

+      	<code>./include</code>  	The library header files

+</p>

+

+<p>The default (<code>--prefix</code>) value is <code>/usr/local</code> which I use for release builds.

+</p>

+<p>I choose (<code>--prefix</code>) value of <code>/opt/apache/debug</code> for debug builds.

+</p>

+

+<p>

+<b>Build Tree:</b> The build working directory tree

+</p>

+<p>  	<code>/&lt;user-directory&gt;/Build/</code>

+</p>

+

+<p>You can use any empty file system or directory path with write access.  Starting with an empty directory is a quick way to do a clean build.  Make this empty directory to be your current working directory.

+</p>

+<p>I also like to make some shell scripts so that the build process can be automated. I locate these scripts outside of the Build directory so they don't get lost when I purge directory content.

+</p>

+<p>

+  	<code>../build-xerces-lib.sh</code>

+</p>

+<p>

+  	<code>../build-xalan-lib.sh</code>

+</p>

+<p>

+  	<code>../build-xalan-app.sh</code>

+</p>

+<p>I generate these shell scripts with a text editor and use them to minimize keyboard typing errors.

+</p>

+<a name="unixlibpath">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Finding Runtime Libraries</h4>

+

+<p>The various types of UNIX operating systems have differing requirements for finding libraries at runtime.

+</p>

+<table border="1">

+<tr>

+<th class="content" rowspan="1" colspan="1">Operating System</th>

+<th class="content" rowspan="1" colspan="1">Library Path Environment</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Solaris and Linux</td>

+<td class="content" rowspan="1" colspan="1">LD_LIBRARY_PATH</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">HP-UX</td>

+<td class="content" rowspan="1" colspan="1">SHLIB_PATH</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">AIX and BSD</td>

+<td class="content" rowspan="1" colspan="1">LIBPATH</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Mac OS X</td>

+<td class="content" rowspan="1" colspan="1">DYLD_LIBRARY_PATH</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Cygwin and  MinGW</td>

+<td class="content" rowspan="1" colspan="1">PATH</td>

+</tr>

+</table>

+

+<p>The Xalan-C/C++ and Xerces-C/C++ shared library objects must be installed in a reachable library path for your platform.  The <code>make</code> step creates the libraries in the <code>lib</code> subdirectory of your working directory.  The <code>make install</code> step installs these shared objects to the designated <code>{prefix}/lib</code> directory or another directory defined by the <code>--libdir</code> configuration parameter.

+</p>

+<p>In many cases, the <code>/usr/local/lib</code> is already cached in <code>/etc/ld.so.cache</code> or included by <code>/etc/ld.so.conf</code>.  The library path environment variable is then used for exceptions.  The explicit library path environment variable usually takes precedence over the other methods of finding shared library runtimes.  This is useful if you wish to use a debug environment on the same platform that also includes release libraries of the same name.

+</p>

+

+

+<a name="unixbldxalan">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Building the Xalan-C/C++ XSLT Libraries for UNIX</h4>

+

+

+<p>I don't like building sources from a root or superuser login.  I also like to do builds in a directory separated from the source tree.

+</p>

+

+<p>If your sources tree is read-only and some required files are not executable, then you need to copy the source to writable media and change the execute attributes of specific files.  This command sequence will copy an entire directory tree from <code>{source-dir}</code> to <code>{dest-dir}</code>.

+</p>

+<blockquote class="source">

+<pre>

+	cd {source-dir}

+	find . | cpio -pdmuv {dest-dir}

+</pre>

+</blockquote>

+<p>Connect to the <code>{xalan-src}</code> directory and make specific files executable.

+</p>

+<blockquote class="source">

+<pre>

+	cd {xalan-src}

+	chmod 755 runConfigure configure install-sh

+</pre>

+</blockquote>

+<p>Connect to your empty build directory and construct a script for building the Xalan-C/C++ XSLT products.

+</p>

+

+<p>The Xalan-C/C++ configuration process uses the <code>runConfigure</code> script as a front-end to the automake <code>configure</code> script. Your shell command script should therefore use the <code>runConfigure</code> script.

+</p>

+

+<table border="1">

+<tr>

+<th class="content" rowspan="1" colspan="2">runConfigure Options</th>

+</tr>

+<tr>

+<th class="content" rowspan="1" colspan="1">Option</th>

+<th class="content" rowspan="1" colspan="1">Description</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-p</td>

+<td class="content" rowspan="1" colspan="1">Build platform: aix, linux, freebsd, netbsd, solaris, hp-10, hp-11, hp11-ia64, 

+   irix, tru64, macosx, cygwin</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-c</td>

+<td class="content" rowspan="1" colspan="1">C compiler name: gcc, cc, c89, xlc, xlc_r, acc (default = gcc)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-x</td>

+<td class="content" rowspan="1" colspan="1">C++ compiler name: g++, CC, C89, xlC, xlC_r, aCC (default = g++)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-d</td>

+<td class="content" rowspan="1" colspan="1">Indicates a debug build, takes no values, default is No Debug</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-t</td>

+<td class="content" rowspan="1" colspan="1">Transcoder to use: 'icu', (Default is null, the Xerces-C/C++ transcoder)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-m</td>

+<td class="content" rowspan="1" colspan="1">Type of localization support: inmem, icu, nls (default is inmem)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-M</td>

+<td class="content" rowspan="1" colspan="1">Locale for message localization: "en_US"</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-r</td>

+<td class="content" rowspan="1" colspan="1">Threads option: pthread, dce (default is pthread)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-b</td>

+<td class="content" rowspan="1" colspan="1">Specify 32 or 64 bit build (Default is 32-bit)<br />

+    On Linux, the 32/64 build is determined by the compiler, kernel, and glibc.</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-P</td>

+<td class="content" rowspan="1" colspan="1">Install root directory: value is assigned to the <code>--prefix</code> configure parameter</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-l</td>

+<td class="content" rowspan="1" colspan="1">Extra link options (assigned to <code>LDFLAGS</code>)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-z</td>

+<td class="content" rowspan="1" colspan="1">Extra compiler options (assigned to <code>CFLAGS</code> and <code>CXXFLAGS</code>)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-C</td>

+<td class="content" rowspan="1" colspan="1">Extra configuration options (i.e. <code>--srcdir=${SourceDir}</code>)</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">-h</td>

+<td class="content" rowspan="1" colspan="1">Print the <code>runConfigure</code> help and exit</td>

+</tr>

+</table>

+

+<p>Here are the names of some C/C++ compilers associated with commercial UNIX operating systems used to build Xalan-C/C++ and Xerces-C/C++ packages.

+</p>

+

+<table border="1">

+<tr>

+<th class="content" rowspan="1" colspan="1">System</th>

+<th class="content" rowspan="1" colspan="1">Platform</th>

+<th class="content" rowspan="1" colspan="1">C Compiler</th>

+<th class="content" rowspan="1" colspan="1">C++ Compiler</th>

+<th class="content" rowspan="1" colspan="1">Comment</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">AIX</td>

+<td class="content" rowspan="1" colspan="1">aix</td>

+<td class="content" rowspan="1" colspan="1">xlc_r</td>

+<td class="content" rowspan="1" colspan="1">xlC_r</td>

+<td class="content" rowspan="1" colspan="1">thread support</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">AIX</td>

+<td class="content" rowspan="1" colspan="1">aix</td>

+<td class="content" rowspan="1" colspan="1">xlc</td>

+<td class="content" rowspan="1" colspan="1">xlC</td>

+<td class="content" rowspan="1" colspan="1">no thread support</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Cygwin</td>

+<td class="content" rowspan="1" colspan="1">cygwin</td>

+<td class="content" rowspan="1" colspan="1">gcc</td>

+<td class="content" rowspan="1" colspan="1">g++</td>

+<td class="content" rowspan="1" colspan="1" />

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">HP-UX</td>

+<td class="content" rowspan="1" colspan="1">hp-11</td>

+<td class="content" rowspan="1" colspan="1">cc</td>

+<td class="content" rowspan="1" colspan="1">aCC</td>

+<td class="content" rowspan="1" colspan="1" />

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">HP-UX</td>

+<td class="content" rowspan="1" colspan="1">hp-11-ia64</td>

+<td class="content" rowspan="1" colspan="1">cc</td>

+<td class="content" rowspan="1" colspan="1">aCC</td>

+<td class="content" rowspan="1" colspan="1" />

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Solaris</td>

+<td class="content" rowspan="1" colspan="1">solaris</td>

+<td class="content" rowspan="1" colspan="1">cc</td>

+<td class="content" rowspan="1" colspan="1">CC</td>

+<td class="content" rowspan="1" colspan="1" />

+</tr>

+</table>

+

+<p>The following example shows you how to construct a usable script with your favorite text editor.

+</p>

+

+<blockquote class="source">

+<pre>

+#!/bin/sh

+# Script to build and install Xalan-C/C++ products from sources

+

+# The Source and Target Directories for Debug Build

+

+# SourceDir="--srcdir=/opt/xalan/c/trunk"

+# DestDir="--prefix=/opt/apache/debug"

+

+# The Source and Target Directories for Release Build

+

+SourceDir="--srcdir=/opt/xalan/c/trunk"

+DestDir="--prefix=/usr/local"

+

+# The Xerces and Xalan package directories

+

+export XALANCROOT=${SourceDir}

+export XERCESCROOT=${DestDir}

+

+# If compiling with IBM-ICU support, the ICUROOT environment variable 

+# needs to be defined to specify where the ICU libraries are installed.

+# Specifically, the following directories are accessed:

+#	${ICUROOT}/lib, ${ICUROOT}/include, ${ICUROOT}/data

+#	export ICUROOT=/usr/local

+

+export PATH=$PATH:${SourceDir}

+

+# Debug Configure

+

+# runConfigure -p linux -d -c gcc -x g++ -P "${DestDir}" \

+#   -C "--srcdir=${SourceDir}"

+

+# Release Configure

+

+runConfigure -p linux -c gcc -x g++ -P "${DestDir}" \

+   -C "--srcdir=${SourceDir}"

+

+# Connect to configured src subdirectory to build the library without

+# sample programs. If you run make from your build directory, then the

+# library and all sample programs will be built.

+

+cd src

+make clean

+make

+

+# As a user with permissions to write to ${DestDir} install the Xalan-C/C++ products

+#   ${DestDir}/bin   the Xalan command-line utility and sample programs

+#   ${DestDir)/lib    the Xalan-C/C++ static and dynamic libraries

+#   ${DestDir}/include/xalanc/*    The header files.

+

+make install

+

+## End of sample build script.

+</pre>

+</blockquote>

+

+

+

+<a name="unixcompileref">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Reference on Unix Platforms and C++ Compilers</h3>

+

+<p>Some compilers and platforms may need configuration options and variables that differ from the default Linux build.  Beware that the runConfigure script for Xalan-C/C++ is a front-end that calls the configure script.  The following table is reference information for the build of Xerces-C/C++ version 3.x.  The C++ compiler for Xerces should be the same as used for Xalan builds.

+</p>

+

+<table border="1">

+<tr>

+<th class="content" rowspan="1" colspan="2">Configuration Options For Unix Platforms</th>

+</tr>

+<tr>

+<th class="content" rowspan="1" colspan="1">Solaris x86</th>

+<th class="content" rowspan="1" colspan="1">Sun CC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=CC CC=cc</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Solaris x86-64</th>

+<th class="content" rowspan="1" colspan="1">Sun CC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=cc CC=cc CFLAGS=-xarch=amd64 CXXFLAGS=-xarch=amd64<br />

+(newer Sun CC versions use -m64 instead of -arch=amd64)</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Solaris Sparc</th>

+<th class="content" rowspan="1" colspan="1">Sun CC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=CC CC=cc</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Solaris Sparc v9</th>

+<th class="content" rowspan="1" colspan="1">Sun CC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=cc CC=cc CFLAGS=-xarch=v9 CXXFLAGS=-xarch=v9<br />

+(newer Sun CC versions use -m64 instead of -arch=v9)</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">AIX PowerPC</th>

+<th class="content" rowspan="1" colspan="1">IBM XLC++</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=xlc_r CC=xlc_r<br />

+gmake libxerces_c_1a LDFLAGS=-qmkshrobj</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">AIX PowerPC-64</th>

+<th class="content" rowspan="1" colspan="1">IBM XLC++</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=xlc_r CC=xlc_r CXXFLAGS=-q64 CFLAGS=-q64<br />

+gmake libxerces_c_1a LDFLAGS=-qmkshrobj</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">HP-UX 1a-64-32</th>

+<th class="content" rowspan="1" colspan="1">HP aCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=aCC CC=aCC CFLAGS=-mt CXXFLAGS=-mt LDFLAGS=-mt</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">HP-UX 1a-64</th>

+<th class="content" rowspan="1" colspan="1">HP aCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CXX=aCC CC=aCC CFLAGS=-mt CXXFLAGS=-"mt +DD64" LDFLAGS="-mt +DD64"</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Mac OS X x86-64</th>

+<th class="content" rowspan="1" colspan="1">GCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64"</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Mac OS X PowerPC-64</th>

+<th class="content" rowspan="1" colspan="1">GCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure CFLAGS="-arch ppc64" CXXFLAGS="-arch ppc64"</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Mac OS X x86/PowerPC</th>

+<th class="content" rowspan="1" colspan="1">GCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure --disable-dependency-tracking CFLAGS="arch i386 -arch ppc"<br />

+CXXFLAGS="-arch i386 -arch ppc"</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">MinGW x86</th>

+<th class="content" rowspan="1" colspan="1">GCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure LDFLAGS=-no-undefined</td>

+</tr>

+

+<tr>

+<th class="content" rowspan="1" colspan="1">Cygwin x86</th>

+<th class="content" rowspan="1" colspan="1">GCC</th>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="2">./configure LDFLAGS=-no-undefined</td>

+</tr>

+</table>

+

+

+<a name="xercesmodules">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xerces-C/C++ Transcoders and Plug-in Modules</h3>

+<p>Xerces-C/C++ XML Parsers have undergone some additional modularity features. In the version 3 series, the transcoders are now being implemented as runtime modules. Use of the transcoding modules is still experimental for Xalan-C/C++ transformation applications. The basic transcoder capability still exists. Xerces-C/C++ version 2 series had transcoder libraries explicitly built and installed.

+</p>

+<p>A plug-in memory management architecture was introduced in Xerces-C/C++ version 2.7. The plug-in memory management of Xerces-C/C++ is also supported by Xalan-C/C++ applications.

+</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/charter.html b/docs/xalan/xalan-c/charter.html
new file mode 100644
index 0000000..798d3ff
--- /dev/null
+++ b/docs/xalan/xalan-c/charter.html
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan Project Charter</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan Project Charter</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>Charter<br />

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan Project Charter</h2>

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xalan Project Charter</h3>

+  <p>The following charter applies to all Xalan projects.</p>

+  

+

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>1 INTRODUCTION</h3>

+   <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>

+  

+

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>2 MISSION</h3>

+   <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>

+  

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>3 HISTORY</h3>

+   <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>

+  

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>4 TERMS</h3>

+   <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>

+       

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>5 THE PROJECT MANAGEMENT COMMITTEE</h3>

+   <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 <a href="http://incubator.apache.org">http://incubator.apache.org</a>).</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

+      <a href="http://www.apache.org/foundation/bylaws.html">

+      http://www.apache.org/foundation/bylaws.html</a> 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>

+   

+

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>6 SUBPROJECTS</h3>

+   <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>

+       

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>7 CONTRIBUTORS</h3>

+   <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)"

+      (<a href="http://www.apache.org/licenses/icla.txt">http://www.apache.org/licenses/icla.txt</a>)

+      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)", 

+      (<a href="http://www.apache.org/licenses/cla-corporate.txt">http://www.apache.org/licenses/cla-corporate.txt</a>)

+      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 (<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)?</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>

+     

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>8 COMMITTERS</h3>

+   <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>

+     

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>9 INFRASTRUCTURE</h3>

+   <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 <a href="http://xalan.apache.org">xalan.apache.org</a> 

+      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>

+   

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>10 LICENSING</h3>

+   <p>10.1 All contributions to the Apache Xalan project adhere to the "Apache

+      Software Foundation License, Version 2.0"

+      (<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>).

+      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>

+       

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>11 THE DEVELOPMENT PROCESS</h3> 

+   <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>

+   

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>12 VOTING</h3>

+   <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>

+   

+  

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>13 RELATIONSHIP TO OTHER APACHE PROJECTS</h3>

+   <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>

+         

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/commandline.html b/docs/xalan/xalan-c/commandline.html
new file mode 100644
index 0000000..f91388f
--- /dev/null
+++ b/docs/xalan/xalan-c/commandline.html
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Command-Line Utilities</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Command-Line Utilities</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>Command Line<br />

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Command-Line Utilities</h2>

+<ul>

+<li>

+<a href="#use">Using a command-line utility</a>

+</li>

+<li>

+<a href="#xalanexe">Using the Xalan executable</a>

+</li>

+

+</ul>

+<a name="use">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Using a command-line utility</h3>

+<p>To perform a transformation, you can call Xalan-C++ from the command line (or script), 

+   or from within an application (see <a href="usagepatterns.html">Usage Patterns</a>).</p>

+<p>To perform a transformation from the command line or a script, do the following:</p>

+  <ol>

+    <li>

+<a href="download.html">Download Xalan-C++</a>.<br />

+<br />

+</li> 

+    <li>

+<a href="install.html">Set the path/library path</a> 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>  

+

+<a name="xalanexe">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Using the Xalan executable</h3>

+<p>Call the Xalan executable as follows:<br />

+<br /> 

+   <code>Xalan <b>

+<i>[options]</i>

+</b> <b>

+<i>xmlSource</i>

+</b> <b>

+<i>xslStylesheet</i>

+</b>

+</code>

+<br />

+<br />

+   where <b>

+<i>xmlSource</i>

+</b> is the XML source document, <b>

+<i>xslStylesheet</i>

+</b> is the stylesheet to apply, and 

+   <b>

+<i>[options]</i>

+</b> are any (or none) of the following:</p>

+<table border="1">

+  <tr>

+<th class="content" rowspan="1" colspan="1">Option</th>

+<th class="content" rowspan="1" colspan="1">Description</th>

+</tr>

+  <tr>

+<td class="content" rowspan="1" colspan="1">-a</td>

+<td class="content" rowspan="1" colspan="1">Use stylesheet processing instruction, not the stylesheet argument.</td>

+</tr>

+  <tr>

+<td class="content" rowspan="1" colspan="1">-e encoding</td>

+<td class="content" rowspan="1" colspan="1">Force the specified encoding for the output.</td>

+</tr>

+  <tr>

+<td class="content" rowspan="1" colspan="1">-i integer</td>

+<td class="content" rowspan="1" colspan="1">Indent the specified amount.</td>

+</tr>

+  <tr>

+<td class="content" rowspan="1" colspan="1">-m</td>

+<td class="content" rowspan="1" colspan="1">Omit the META tag in HTML output.</td>

+</tr>

+  <tr>

+<td class="content" rowspan="1" colspan="1">-o filename</td>

+<td class="content" rowspan="1" colspan="1">Write transformation result to this file (rather than to the console).</td>

+</tr>

+  <tr>

+<td class="content" rowspan="1" colspan="1">-p name expr</td>

+<td class="content" rowspan="1" colspan="1">Set a stylesheet parameter with this expression.</td>

+</tr> 

+  <tr>

+<td class="content" rowspan="1" colspan="1">-t name expr</td>

+<td class="content" rowspan="1" colspan="1">Display timing information.</td>

+</tr> 

+  <tr>

+<td class="content" rowspan="1" colspan="1">-u name expr</td>

+<td class="content" rowspan="1" colspan="1">Disable escaping of URLs in HTML output.</td>

+</tr> 

+  <tr>

+<td class="content" rowspan="1" colspan="1">-v</td>

+<td class="content" rowspan="1" colspan="1">Validate the XML source document.</td>

+</tr> 

+  <tr>

+<td class="content" rowspan="1" colspan="1">-</td>

+<td class="content" rowspan="1" colspan="1">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>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/download.html b/docs/xalan/xalan-c/download.html
new file mode 100644
index 0000000..8151c9b
--- /dev/null
+++ b/docs/xalan/xalan-c/download.html
@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Downloading Xalan-C++</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Downloading Xalan-C++</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>Download<br />

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Downloading Xalan-C++</h2>

+<a name="download">&#8204;</a>

+<p>This section is being rewritten for Xalan-C/C++ Version 1.11.  You

+can find the old 

+<a href="http://xml.apache.org/xalan-c">Version 1.10</a> 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 <a href="buildlibs.html">creating binary packages</a> for 

+UNIX and Linux systems.

+</p>

+

+<p>

+<b>THIS IS STILL A PRE-RELEASE PRODUCT</b>

+</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 /> 

+<a href="http://svn.apache.org/repos/asf/xalan/c/trunk">

+http://svn.apache.org/repos/asf/xalan/c/trunk</a>

+</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Downloading what you need</h3>

+

+<p>The Xalan-C/C++ library requires the

+<a href="http:xml.apache.org/xerces-c">Xerces-C/C++ XML</a> 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 

+<a href="http://www.doxygen.org">Doxygen</a> and 

+<a href="http://www.graphviz.org">GraphViz</a> 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>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Source Packages</h4>

+<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>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Documentation Packages</h4>

+<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>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Binary Packages</h4>

+<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 

+<a href="mailto:xalan-dev@xml.apache.org">xalan-dev</a> mailing list.

+</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Platform Compatibility</h4>

+<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 border="1">

+       <tr>

+         <th class="content" rowspan="1" colspan="1">Platform - Operating System</th>

+         <th class="content" rowspan="1" colspan="1">Compilers</th>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">Windows X86</td>

+         <td class="content" rowspan="1" colspan="1">VC7.1, VC8, VC9, VC10</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">Windows X86_64</td>

+         <td class="content" rowspan="1" colspan="1">VC8, VC9, VC10</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">HPUX ia64</td>

+         <td class="content" rowspan="1" colspan="1">ACC 6</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">HPUX ia64_64</td>

+         <td class="content" rowspan="1" colspan="1">ACC 6</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">AIX powerpc</td>

+         <td class="content" rowspan="1" colspan="1">xlc 7.0</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">AIX powerpc_64</td>

+         <td class="content" rowspan="1" colspan="1">xlc 7.0</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">SOLARIS sparc</td>

+         <td class="content" rowspan="1" colspan="1">cc 5.10</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">SOLARIS sparc_64</td>

+         <td class="content" rowspan="1" colspan="1">cc 5.10</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">SOLARIS X86</td>

+         <td class="content" rowspan="1" colspan="1">cc 5.10</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">SOLARIS X86_64</td>

+         <td class="content" rowspan="1" colspan="1">cc 5.10</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">LINUX X86</td>

+         <td class="content" rowspan="1" colspan="1">gcc 3.4</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">Linux X86_64</td>

+         <td class="content" rowspan="1" colspan="1">gcc 3.4</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">MAC OSX X86</td>

+         <td class="content" rowspan="1" colspan="1">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>

+

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Use GNU tar to untar the Solaris distribution file; see <a href="faq.html#faq-11">A tar checksum error on Solaris

+      </a>.

+</td>

+</tr>

+</table>

+

+<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 <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a>; see <a href="usagepatterns.html#icu">Using the ICU</a>,</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>

+

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To access previous releases of Xalan-C++, visit the <a href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive 

+      directory</a>.

+</td>

+</tr>

+</table>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/extensions.html b/docs/xalan/xalan-c/extensions.html
new file mode 100644
index 0000000..7cf725a
--- /dev/null
+++ b/docs/xalan/xalan-c/extensions.html
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Extension Functions</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Extension Functions</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>Extensions<br />

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Extension Functions</h2>

+<ul>

+  <li>

+<a href="#intro">Introduction</a>

+</li>

+  <li>

+<a href="#implement">Implementing an extension function</a>

+</li>

+  <li>

+<a href="#install">Installing an extension function</a>

+</li>

+  <li>

+<a href="#use">Using an extension function</a>

+</li>

+</ul>

+<a name="intro">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Introduction</h3>

+<p>At times, you may want to call your own custom C functions from a stylesheet. For these situations, Xalan-C++ supports the 

+   creation and use of extension functions. Xalan-C++ also provides a <a href="extensionslib.html">library of extension functions

+   </a> 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 

+<a href="samples.html#externalfunctions">External Functions</a> sample.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Xalan-C++ does not support extension elements.</td>

+</tr>

+</table>

+

+

+<a name="implement">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Implementing an extension function</h3>

+<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>

+<blockquote class="source">

+<pre>

+// 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]-&gt;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;

+}

+</pre>

+</blockquote>   

+

+<a name="install">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Installing an extension function</h3>

+<p>

+<a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> 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 <a href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>.</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>

+<blockquote class="source">

+<pre>#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());</pre>

+</blockquote>

+<p>For an example that installs three functions, see the <a href="samples.html#externalfunctions">External Functions</a> sample.</p>

+

+<a name="use">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Using an extension function</h3>

+<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:<b>

+<i>prefix</i>

+</b>=<b>

+<i>URI</i>

+</b>

+</code>

+<br />

+<br />

+      The <b>

+<i>prefix</i>

+</b> identifies the namespace, and <b>

+<i>URI</i>

+</b> 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="<b>

+<i>prefix-1 prefix-2 ...</i>

+</b>"</code>

+<br />

+<br />

+      in the stylesheet element or<br />

+<br />

+      <code>xsl:exclude-result-prefixes="<b>

+<i>prefix-1 prefix-2 ...</i>

+</b>"</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>

+<blockquote class="source">

+<pre>

+&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;

+</pre>

+</blockquote>

+<p>This stylesheet converts  <code>&lt;area value="397"/&gt;</code> into the following output:</p>

+<blockquote class="source">

+<pre>&lt;out&gt;

+  The area of the square is 

+  397 square units.

+  The length of each side is 

+  19.9249 units.

+&lt;/out&gt;

+</pre>

+</blockquote>

+<p>For a slightly more complex variation on this example,  

+see the <a href="samples.html#externalfunctions">External Functions</a> sample.</p>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Passing Nodes to a function</h4>

+<p>Please keep in mind that <b>all</b> 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]-&gt;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--&gt;</code>

+<br />

+<code>&lt;xsl:variable name="success" select="node-ext:ProcessNodes(*)"/&gt;</code>

+</p>

+<p>

+<code>&lt;!-- Process all nodes --&gt;</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 --&gt;</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 --&gt;</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>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/extensionslib.html b/docs/xalan/xalan-c/extensionslib.html
new file mode 100644
index 0000000..916d3dc
--- /dev/null
+++ b/docs/xalan/xalan-c/extensionslib.html
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Extensions library</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Extensions library</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>Extensions Library<br />

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Extensions library</h2>

+<ul>

+  <li>

+<a href="#intro">Introduction</a>

+</li>

+  <li>

+<a href="#exslt">Beta support for EXSLT extensions</a>

+</li>

+  <li>

+<a href="#xalanns">Xalan namespace</a>

+</li>

+  <li>

+<a href="#nodeset">nodeset</a>

+</li>

+  <li>

+<a href="#intersection">intersection</a>

+</li>

+  <li>

+<a href="#difference">difference</a>

+</li>

+  <li>

+<a href="#distinct">distinct</a>

+</li>

+  <li>

+<a href="#evaluate">evaluate</a>

+</li>

+  <li>

+<a href="#hassamenodes">hasSameNodes</a>

+</li>

+</ul>

+

+<a name="intro">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Introduction</h3>

+<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 Xalan-C++. If you have ideas and/or contributions you would like to make, 

+   please email us at the <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.</p>

+

+

+<a name="exslt">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>EXSLT extensions</h3>

+<p>Xalan-C++ supports the <a href="http://exslt.org/">EXSLT</a> initiative to provide a set of

+   standard extension functions to XSLT users. Xalan-C++ 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>

+<a href="apiDocs/XalanEXSLTCommonImpl_8hpp.html">XalanEXSLTCommonImpl</a>

+</li>

+  <li>

+<a href="apiDocs/XalanEXSLTMathImpl_8hpp.html">XalanEXSLTMathImpl</a>

+</li>

+  <li>

+<a href="apiDocs/XalanEXSLTSetImpl_8hpp.html">XalanEXSLTSetImpl</a>

+</li>

+  <li>

+<a href="apiDocs/XalanEXSLTStringImpl_8hpp.html">XalanEXSLTStringImpl</a>

+</li>

+  <li>

+<a href="apiDocs/XalanEXSLTDynamicImpl_8hpp.html">XalanEXSLTDynamicImpl</a>

+</li>

+  <li>

+<a href="apiDocs/XalanEXSLTDateTimeImpl_8hpp.html">XalanEXSLTDateTimeImpl</a>

+</li>

+</ul>

+<p>For the function specifications, see:</p>

+<ul>

+  <li>

+<a href="http://www.exslt.org/exsl/exsl.html">EXSLT common functions</a>

+</li>

+  <li>

+<a href="http://www.exslt.org/math/math.html">EXSLT math functions</a>

+</li>

+  <li>

+<a href="http://www.exslt.org/set/set.html">EXSLT set functions</a>

+</li>

+  <li>

+<a href="http://www.exslt.org/str/str.html">EXSLT string functions</a>

+</li>

+  <li>

+<a href="http://www.exslt.org/dyn/dyn.html">EXSLT dynamic functions</a>

+</li>

+  <li>

+<a href="http://www.exslt.org/date/date.html">EXSLT date-time functions</a>

+</li>

+</ul>

+<p>Anyone who would like to participate in the Xalan-C++ initiative to support EXSLT by testing these implementations or implementing 

+   other EXSLT functions is more than welcome. Please email us at the <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.</p>

+

+

+<a name="xalanns">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xalan namespace</h3>

+<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 Xalan-C++-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 Xalan-C++-supplied extensions are stored, you won't have to modify your stylesheet.</p>

+<p>For an example that uses this namespace, see <a href="#ex-nodeset">Example with the nodeset extension function</a>.</p>

+

+

+<a name="nodeset">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>nodeset</h3>

+<p>Implemented in <a href="apiDocs/classFunctionNodeSet.html">FunctionNodeSet</a>, <code>nodeset (result-tree-fragment)</code> 

+   casts a result tree fragment into a node-set.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">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 <a href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments">Result 

+      Tree Fragments</a>.</td>

+</tr>

+</table>

+

+<a name="ex-nodeset">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Example with the nodeset extension function</h4>

+<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>

+<blockquote class="source">

+<pre>

+&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&gt;

+  &lt;/out&gt;

+&lt;/xsl:template&gt; 

+&lt;/xsl:stylesheet&gt;

+</pre>

+</blockquote>

+<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>&lt;out&gt;elem1,elem1a,elem1b,elem2,elem2a&lt;/out&gt;</code>

+</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">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.</td>

+</tr>

+</table>

+

+

+<a name="intersection">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>intersection</h3>

+<p>Implemented in <a href="apiDocs/classFunctionIntersection.html">FunctionIntersection</a>, <code>intersection (node-set1, 

+   node-set2)</code> returns a node-set with all nodes that are in ns1 and in ns2.</p>

+

+<a name="difference">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>difference</h3>

+<p>Implemented in <a href="apiDocs/classFunctionDifference.html">FunctionDifference</a>, <code>difference(node-set1, 

+   node-set2)</code> returns a node-set with the nodes in node-set1 and not in node-set2.</p>

+

+<a name="distinct">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>distinct</h3>

+<p>Implemented in <a href="apiDocs/classFunctionDistinct.html">FunctionDistinct</a>, 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>

+

+<a name="evaluate">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>evaluate</h3>

+<p>Implemented in <a href="apiDocs/classFunctionEvaluate.html">FunctionEvaluate</a>, <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>

+

+<a name="hassamenodes">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>hasSameNodes</h3>

+<p>Implemented in <a href="apiDocs/classFunctionHasSameNodes.html">FunctionHasSameNodes</a>, <code>hasSameNodes(node-set1, 

+   node-set2)</code> returns true if both node-set1 and node-set2 contain exactly the same set of nodes.</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/faq.html b/docs/xalan/xalan-c/faq.html
new file mode 100644
index 0000000..ff30535
--- /dev/null
+++ b/docs/xalan/xalan-c/faq.html
@@ -0,0 +1,694 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Frequently asked questions</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Frequently asked questions</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>Xalan-C FAQs<br />

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2 class="faqSubHead">Questions</h2>

+<ol start="1">

+<li>

+<a href="#faq-1">Where do I go to learn about XSLT</a>

+</li>

+<li>

+<a href="#faq-2">Asking questions about Xalan-C++</a>

+</li>

+<li>

+<a href="#faq-3">What is Xerces-C++?</a>

+</li>

+<li>

+<a href="#faq-4">Which version of Xerces should I be using?</a>

+</li>

+<li>

+<a href="#faq-5">Should I be using the Xerces DOM or Xalan DOM?</a>

+</li>

+<li>

+<a href="#faq-6">Problems with samples in Windows</a>

+</li>

+<li>

+<a href="#faq-7">Building on Windows</a>

+</li>

+<li>

+<a href="#faq-8">Building on UNIX</a>

+</li>

+<li>

+<a href="#faq-9">Make errors on UNIX platforms</a>

+</li>

+<li>

+<a href="#faq-10">What is ICU</a>

+</li>

+<li>

+<a href="#faq-11">A tar checksum error on Solaris</a>

+</li>

+<li>

+<a href="#faq-12">Xalan-C++ in Apache</a>

+</li>

+<li>

+<a href="#faq-13">Is Xalan-C++ thread-safe?</a>

+</li>

+<li>

+<a href="#faq-14">What can I do to speed up transformations?</a>

+</li>

+<li>

+<a href="#faq-15">Stylesheet validation</a>

+</li>

+<li>

+<a href="#faq-16">What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</a>

+</li>

+<li>

+<a href="#faq-17">Submitting Patches</a>

+</li>

+<li>

+<a href="#faq-18">Transformation Output Methods</a>

+</li>

+<li>

+<a href="#faq-19">Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream</a>

+</li>

+<li>

+<a href="#faq-20">Modifying an instance of XalanDocument</a>

+</li>

+<li>

+<a href="#faq-21">Changing Where Error Output is Sent</a>

+</li>

+<li>

+<a href="#faq-22">Programmatic Error Information</a>

+</li>

+<li>

+<a href="#faq-23">String Transcoding</a>

+</li>

+<li>

+<a href="#faq-24">Error Code/Exception Summary</a>

+</li>

+<li>

+<a href="#faq-25">Extension Functions</a>

+</li>

+<li>

+<a href="#faq-26">Outputting results to a file on Windows 95/98</a>

+</li>

+<li>

+<a href="#faq-27">Using format-number and ICU</a>

+</li>

+<li>

+<a href="#faq-28">Perl wrapper for Xalan-C++?</a>

+</li>

+<li>

+<a href="#faq-29">Missing LocalMsgIndex.hpp file</a>

+</li>

+</ol>

+<h2 class="faqSubHead">Answers</h2>

+<h3 id="faq-1" class="faqTitle">1. Where do I go to learn about XSLT</h3>

+<div class="faqQuestion">Where do I go to learn about XSLT?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The definitive sources are the W3C XSLT and XPath recommendations: <a href="http://www.w3.org/TR/xslt">W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0</a> and 

+      <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a>.</p>

+   <p>For general questions not specific to Xalan-C++, see Dave Pawson's <a href="http://www.dpawson.co.uk/xsl/xslfaq.html">XSL Frequently Asked Questions</a> and Michael Kay's 

+      <a href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's Reference</a>.</p>

+   <p>For a brief listing of tutorials, discussion forums, and other materials, see <a href="overview.html#uptospeed">Getting up to speed with XSLT</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-2" class="faqTitle">2. Asking questions about Xalan-C++</h3>

+<div class="faqQuestion">Where can I ask a question?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>For generic questions about XSL stylesheets and transformations, use the <a href="http://www.mulberrytech.com/xsl/xsl-list/">

+      XSL-List -- Open Forum on XSL</a> 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 Xalan-C++, see xalan-c-users@xml.apache.org and xalan-dev@xml.apache.org on 

+      <a href="http://archive.covalent.net/">http://archive.covalent.net/</a>. To subscribe to these mailing lists, see 

+      <a href="http://xml.apache.org/mail.html">Mailing Lists</a>. Again, please review the archives before posting a new 

+      question.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-3" class="faqTitle">3. What is Xerces-C++?</h3>

+<div class="faqQuestion">What is Xerces-C++ and why do I need it?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability 

+      to read and write XML data. Like Xalan-C++, Xerces-C++ is available from the Apache XML site:  

+      <a href="http://xml.apache.org/xerces-c/index.html">http://xml.apache.org/xerces-c/index.html</a>

+</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-4" class="faqTitle">4. Which version of Xerces should I be using?</h3>

+<div class="faqQuestion">Which version of Xerces should I be using?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The Xalan-C++ release notes includes information about the Xerces-C++ release with which the Xalan-C++ release has been coordinated 

+      and tested. See <a href="whatsnew.html#status">Status</a>

+</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-5" class="faqTitle">5. Should I be using the Xerces DOM or Xalan DOM?</h3>

+<div class="faqQuestion">Should I be using the Xerces DOM or Xalan DOM?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The Xalan DOM implementation is highly optimised for transformations.  However, whilst you can build documents in the Xalan DOM, 

+      subsequent modification will not work.  The Xalan DOM is designed to be either an input or an output from a transformation, not 

+      as a general DOM implementation.</p>

+   <p>So in cases where you want to simply transform documents using Xalan, using the internal DOM implementation is the best approach.</p>

+   <p>In cases where you want to modify the DOM document on the fly, you should use the Xerces DOM as the base document.  You can wrap 

+      the Xerces DOM in a wrapper (see  <a href="usagepatterns.html#xercesdomwrapperparsedsource"> passing in a Xerces DOM</a>) 

+      to then use as an input to a Xalan transformation.  Alternatively you can output the result of a transformation to a Xerces DOM 

+      document (see <a href="usagepatterns.html#dom">working with DOM input and output</a>).  In either case, the Xerces document 

+      can be freely modified.  However, after you modify the document, you need to re-build the wrapper so that any changes are replicated 

+      in the Xalan wrappers.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-6" class="faqTitle">6. Problems with samples in Windows</h3>

+<div class="faqQuestion">I have encountered problem executing the Xalan-C++ sample applications after rebuilding them under Win32 Environment (Windows NT 4.0, SP3).

+   When I tried to execute the sample, I receive the error message 

+   "Debug Assertion Failed! ...  Expression: _BLOCK_TYPE_IS_VALID(pHead-&gt;nBlockUse)".</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>You may be mixing debug and release versions of executables and libraries. In other words, if you are compiling the sample for debug, 

+      then you should link with the debug version of the Xalan-C++ and Xerces-C++ libraries and run with the debug version of the dynamic link 

+      libraries.</p>

+   <p>You must also make sure your application is linking with the Debug multithreaded DLL run-time library or the Multithreaded DLL 

+      run-time library.  To check this setting do the following in Visual C++:</p>

+   <ol>

+     <li>Select Settings from the Project menu.<br />

+<br />

+</li>

+     <li>Click the C/C++ tab.<br />

+<br />

+</li>

+     <li>In the Category drop-down list, select Code Generation.<br />

+<br />

+</li>

+     <li>In the Use run-time library drop-down list, select Multithreaded DLL for the Win32 Release configuration, or select Debug 

+         Multithreaded DLL for the Win32 Debug configuration.</li>

+   </ol>

+   <p>Once you have changed this setting, you must rebuild your project.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-7" class="faqTitle">7. Building on Windows</h3>

+<div class="faqQuestion">What do I need to rebuild Xalan-C++ on Windows?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>In order to build Xalan-C++ on Windows, you will need the supported version of Xerces-C++ and MS Visual C++ 6.0 installed with Service 

+      Pack 5 for Visual C++ and Visual Studio. In previous versions of Xalan-C++, 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: <a href="http://www.dinkumware.com/vc_fixes.html">

+      http://www.dinkumware.com/vc_fixes.html</a>.</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 <a href="build_instruct.html#win32">Steps for doing a Windows build</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-8" class="faqTitle">8. Building on UNIX</h3>

+<div class="faqQuestion">What do I need to rebuild Xalan-C++ on UNIX?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>To build Xalan-C++ on supported UNIX platforms, you need Xerces-C++, the GNU make utility, and a supported C++ compiler.  For more 

+      details see: <a href="build_instruct.html#unix">Steps for doing a UNIX build</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-9" class="faqTitle">9. Make errors on UNIX platforms</h3>

+<div class="faqQuestion">I get errors in the Makefile when running the make utility.  What's wrong?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>You must use the GNU make utility.  Other make utilities may not work with the Xalan Makefile</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-10" class="faqTitle">10. What is ICU</h3>

+<div class="faqQuestion">What is ICU and why do I need it?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The International Components for Unicode(ICU) is a C and C++ library that provides robust and full-featured Unicode support on 

+      a wide variety of platforms. Xalan-C++ uses the ICU to extend support for encoding, number formatting, and sorting.</p> 

+   <p>The ICU is available for download from <a href="http://oss.software.ibm.com/icu/index.html">

+      http://oss.software.ibm.com/icu/index.html</a>.</p>

+   <p>This release of Xalan was tested with International Components for Unicode(ICU) version 3.2.</p>

+   <p>For more details see: <a href="usagepatterns.html#icu">Using the International Components for Unicode (ICU)</a>.</p>

+   

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-11" class="faqTitle">11. A tar checksum error on Solaris</h3>

+<div class="faqQuestion">I am getting a tar checksum error on Solaris. What's the problem?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The Solaris tar utility you are using does not properly handle files with long pathnames.  You must use GNU tar (gtar), which 

+      handles arbitrarily long pathnames and is freely available on every platform on which Xalan-C++ is supported.  If you don't already 

+      have GNU tar installed on your system, you can obtain it from the Free Software Foundation

+      <a href="http://www.gnu.org/software/tar/tar.html">http://www.gnu.org/software/tar/tar.html</a>.  For additional background 

+      information on this problem, see the online manual<a href="http://www.gnu.org/manual/tar/html_chapter/tar_8.html#SEC112">

+      GNU tar and POSIX tar </a> for the utility.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-12" class="faqTitle">12. Xalan-C++ in Apache</h3>

+<div class="faqQuestion">Is it possible to run Xalan-C++ from an Apache server?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>A simple Apache module called <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a> is provided as a sample. 

+      It demonstrates how to integrate Xalan-C++ with Apache.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-13" class="faqTitle">13. Is Xalan-C++ thread-safe?</h3>

+<div class="faqQuestion">Is Xalan-C++ thread-safe?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Instances of XalanTransformer are not thread-safe; each thread should use its own instance.</p>

+   <p>In order to support very efficient use in multi-threaded applications, Xalan-C++ is designed to avoid synchronization as much as

+      possible. Each thread of execution is required to have its own set of "support" objects that contain the state of the

+      transformation.  Accordingly, no synchronization is required when multiple threads are executing.</p>     

+   <p>Parsed ("compiled") stylesheets (see <a href="usagepatterns.html#compiled">Compiling stylesheets</a>) and parsed

+      source documents may be freely shared by multiple threads of execution without worrying about providing synchronized access to 

+      them. The <b>only</b> exception to this rule: You use XercesParserLiaison to parse a document after calling 

+      XercesParserLiaison::setBuildBridgeNodes(false) or XercesParserLiaison::setThreadSafe(false). In this case, the document 

+      <b>cannot</b> be shared by multiple threads of execution. For reasons of performance, we do not recommend the use of

+      XercesParserLiaison, so this should not be an issue for most applications.</p>

+   <p>All other objects in Xalan-C++ are <b>not</b> thread-safe. Each thread must have its own instance of each object.</p>

+   <p>See the <a href="samples.html#threadsafe">ThreadSafe</a> sample program for more information.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-14" class="faqTitle">14. What can I do to speed up transformations?</h3>

+<div class="faqQuestion">What can I do to speed up transformations?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>To maximize performance, here are some suggestions for you to keep in mind as you set up your applications:</p>

+   <ul>

+     <li>Use a compiled stylesheet when you expect to use the stylesheet more than once.<br />

+<br />

+</li>     

+     <li>Set up your stylesheets to function efficiently.<br />

+<br />

+</li>

+       <ul>

+         <li>Don't use "//" (descendant axes) patterns near the root of a large document.<br />

+<br />

+</li>

+         <li>Use xsl:key elements and the key() function as an efficient way to retrieve node sets.<br />

+<br />

+</li>

+         <li>Where possible, use pattern matching rather than xsl:if or xsl:when statements.<br />

+<br />

+</li>

+         <li>xsl:for-each is fast because it does not require pattern matching.<br />

+<br />

+</li>

+         <li>Keep in mind that xsl:sort prevents incremental processing.<br />

+<br />

+</li>

+         <li>When you create variables, &lt;xsl:variable name="fooElem" select="foo"/&gt; is usually faster than

+         &lt;xsl:variable name="fooElem"&gt;&lt;xsl:value-of-select="foo"/&gt;&lt;/xsl:variable&gt;.<br />

+<br />

+</li>

+         <li>Be careful using the last() function.<br />

+<br />

+</li>

+         <li>The use of index predicates within match patterns can be expensive.<br />

+<br />

+</li>

+       </ul>

+   </ul>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-15" class="faqTitle">15. Stylesheet validation</h3>

+<div class="faqQuestion">Can I validate an XSL stylesheet?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>An XSL stylesheet is an XML document, so it can have a DOCTYPE and be subject to validation, but you probably will have

+      to write a custom DTD for the purpose.</p>

+   <p>The XSLT Recommendation includes a <a href="http://www.w3.org/TR/xslt#dtd">DTD Fragment 

+      for XSL Stylesheets</a> with some indications of what you need to do to create a complete DTD for a given

+      stylesheet. Keep in mind that stylesheets can include literal result elements and produce output that is not valid

+      XML.</p>

+   <p>You can use the xsl:stylesheet doctype defined in xsl-html40s.dtd for stylesheets that generate HTML.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-16" class="faqTitle">16. What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</h3>

+<div class="faqQuestion">What does the XalanDOMException HIERARCHY_REQUEST_ERR mean?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>It means that an attempt was made to add a node to a DOM that would create an invalid structure.  For example, text nodes 

+      are not allowed as children of the document node.</p>

+   <p>This is a common error when attempting to transform to DOM.  Source documents and stylesheets that might produce valid serialized XML

+      might not produce value DOM.  The usual suspect is text nodes being generated before the document element is generated.</p>

+   <p>If you think you have seen this error because of a bug in Xalan-C++'s source tree implementation, please post a bug report on Bugzilla, and attach a minimal source document 

+      and stylesheet that produce the problem to the bug report.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-17" class="faqTitle">17. Submitting Patches</h3>

+<div class="faqQuestion">Who do I submit patches to?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Your contributions are much appreciated! Please e-mail your patches to <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-18" class="faqTitle">18. Transformation Output Methods</h3>

+<div class="faqQuestion">How do I output a transformation to a DOM, a file, an in-memory buffer, or as input to another transformation?  Since the C++ 

+   language can automatically construct an XSLTResultTarget from any of its constructor's argument types, you usually don't need 

+   to create one explicitly.</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The output parameter of XalanTransformer::transform() is an XSLTResultTarget which has many constructors.</p>

+   <p>Output to a file:</p>

+   <ul>

+     <li>The easiest way is to use a null-terminated string containing the file name to create an XSLTResultTarget.  Or, use an 

+         instance of std::ofstream.  The command line executables, and many of the sample applications use file names, so take a 

+         look through the source code for more information.</li>

+   </ul>

+   <p>Output to an in-memory buffer:</p>

+   <ul>

+     <li>Use an instance of std::ostrstream or std::ostringstream to create an XSLTResultTarget.  See the StreamTransform sample 

+         for more information.</li>

+   </ul>

+   <p>Input to another transformation:</p>

+   <ul>

+     <li>Any of the previous output targets could be used as the input to another transformation, but the FormatterToSourceTree 

+         is probably the best for efficiency reasons.  See the source code for the TestXSLT command line program for more 

+         information.</li>

+   </ul>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-19" class="faqTitle">19. Problems Using Sun's Forte/Workshop Compiler with code containing std::istrstream</h3>

+<div class="faqQuestion">Why won't XSLTInputSource work with std::istrstream on Sun Solaris using Forte/Sun Workshop compiler?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>There is a bug in Sun's C++ standard library implementation; see 

+      <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14176">this bug</a>. 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>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-20" class="faqTitle">20. Modifying an instance of XalanDocument</h3>

+<div class="faqQuestion">My transformation outputs to a XalanDocument (actually XalanSourceTreeDocument underneath) but W3C DOM functions like 

+   DOMElement::setAttribute don't work! Am I going crazy or what?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>No, you aren't going crazy. Xalan's default source tree is read-only for efficiency. If you need a DOM that supports 

+      modifications, use the Xerces DOM instead.  See the TransformToXercesDOM sample for more information.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-21" class="faqTitle">21. Changing Where Error Output is Sent</h3>

+<div class="faqQuestion">XalanTransformer outputs errors to the console. How do I, for example, output error to a file?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>By default, XalanTransformer creates a XalanTransformerProblemListener (a subclass of ProblemListener) that writes 

+      output to std::cerr. To change this you can:</p>

+   <ul>

+     <li>Redirect std::cerr from the command line.</li>

+     <li>Call XalanTranformer::setWarningStream with a different std::ostream before calling XalanTransformer::transform.</li>

+     <li>Instantiate your own XalanTransformerProblemListener with a different output stream and call 

+         XalanTransformer::setProblemListener() before calling XalanTransformer::transform().</li>

+     <li>Subclass some ProblemListener type and do custom handling of errors (you still then need to tell XalanTransformer 

+         instances to use your ProblemListener.)</li>

+   </ul>

+   <p>In most case you probably want to do one of the first two.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-22" class="faqTitle">22. Programmatic Error Information</h3>

+<div class="faqQuestion">How do I programmatically get the file name, line number, and column number for an error in an XML file?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Create a custom ErrorHandler (a Xerces-C++ class) and call XalanTransformer::setErrorHandler before parsing any sources.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-23" class="faqTitle">23. String Transcoding</h3>

+<div class="faqQuestion">How do I make a char* out of XalanDOMString (or vice-versa)?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>See the static method XalanDOMString::transcode, or the functions TranscodeToLocalCodePage in the API documentation.  

+   However, you should be very careful when transcoding Unicode characters to the local code page, because not all Unicode 

+   characters can be represented.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-24" class="faqTitle">24. Error Code/Exception Summary</h3>

+<div class="faqQuestion">Is there a table of error codes somewhere? How about a summary of what methods throw which exceptions?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>There isn't, but we're working on it.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-25" class="faqTitle">25. Extension Functions</h3>

+<div class="faqQuestion">The Xalan extension functions (xalan:node-set, etc.) don't work for me. Help!</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Did you declare the namespace on the xsl:stylesheet or xsl:transform element? It should look like this: </p>

+   <p>&lt;xsl:stylesheet version="1.0" xmlns:xalan="http://xml.apache.org/xalan"&gt; ...rest of stylesheet</p>

+   <p>If you did and you still have problems, you might want to ask the mailing list.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-26" class="faqTitle">26. Outputting results to a file on Windows 95/98</h3>

+<div class="faqQuestion">Why can't I ouput my results to a file on Windows 95/98?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Well, you can, but it doesn't always work. Neither Windows 95 or 98 are supported or tested. There have been reports of 

+      problems on it, especially regarding Unicode support. See 

+      <a href="http://marc.theaimsgroup.com/?l=xalan-dev&amp;m=99840914524755&amp;w=2">this post</a> and 

+      <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3825">this bug</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-27" class="faqTitle">27. Using format-number and ICU</h3>

+<div class="faqQuestion">Why does Xalan emit a warning when using the XSLT function format-number()?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>Did you build with ICU support? See <a href="usagepatterns.html#icu">Using the International Components for 

+      Unicode (ICU)</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-28" class="faqTitle">28. Perl wrapper for Xalan-C++?</h3>

+<div class="faqQuestion">Is there a Perl wrapper for Xalan-C++?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>There is no Apache Perl wrapper, however Edwin Pratomo has written a wrapper for Xalan-C++ version 1.4 that can be found 

+      on CPAN</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3 id="faq-29" class="faqTitle">29. Missing LocalMsgIndex.hpp file</h3>

+<div class="faqQuestion">Why can't I find the LocalMsgIndex.hpp file?</div>

+<br />

+<hr />

+<div class="faqAnswer">

+<p>The LocalMsgIndex.hpp file is not shipped with the distributions because this file is generated during compile time.  This 

+      file is created at the start of the build process and customized for the locale and message set you are using.</p>

+   <p>On Windows, the LocalMsgIndex.hpp header is generated by the Localization project.  By building any project that has a 

+      dependency on the Localization project, will trigger the Message Localization component to built and the LocalMsgIndex.hpp 

+      to be generated.</p>

+   <p>To understand more on how to build with message localization support, see <a href="build_instruct.html#locale">Steps for 

+      Building with Message Localization Support</a>.</p>

+</div>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/getstarted.html b/docs/xalan/xalan-c/getstarted.html
new file mode 100644
index 0000000..f291427
--- /dev/null
+++ b/docs/xalan/xalan-c/getstarted.html
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Getting Started with Xalan-C++</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Getting Started with Xalan-C++</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Getting Started with Xalan-C++</h2>

+<ul>

+<li>

+<a href="#download">Downloading what you need</a>

+</li>

+<li>

+<a href="#path">Setting up the path/library path</a>

+</li>

+<li>

+<a href="#samples">Trying out the samples</a>

+</li>

+<li>

+<a href="#commandline">Performing your own transformations from the command line</a>

+</li>

+<li>

+<a href="#apps">Setting up your own XSLT applications</a>

+</li>

+</ul>

+<p>This section is being rewritten. 

+<a href="index.html#getstarted">See: new getting started</a>

+</p>

+<a name="download">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Downloading what you need</h3>

+<p>For Xalan-C++ Version 1.11, we are distributing the following: 

+<ul>

+<li>AIX 5.1 32-bit and 64-bit xlC_r builds</li> 

+<li>HP-UX 11 32-bit and 64-bit aCC builds</li>

+<li>Red Hat Linux 7.2 32-bit and 64-bit Intel C++ builds</li>

+<li>Solaris 2.7 32-bit and 64-bit Forte C++ builds</li>

+<li>SuSE Linux 8.1 for IA-32 gcc 3.2.2 build  </li>

+<li>Windows 32-bit and 64-bit Visual C++ builds</li>

+</ul>

+</p>

+

+<p>As with previous releases, the documentation build containing this User's Guide and API documentation

+   will be provided in a separate distribution.</p> 

+<p>Please contact us at <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a> if you would like to help provide builds for other platforms.</p>

+<p>If you do not already have it, you must also download the Xerces-C++ version 3.1.1 build as indicated below.</p> 

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The Xalan distribution files are in <a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c">Xalan-C downloads</a>. The Xerces distribution files are in 

+      <a href="http://www.apache.org/dyn/closer.cgi/xerces/c">Xerces-C downloads</a>.  Xalan documentation is provided in a separate package from the binary 

+      distribution files.  For Windows, documentation is packaged with the file name Xalan-C_1_11_0-docs.zip.  For UNIX, 

+      documentation is packaged with the file name of Xalan-C_1_11_0-docs.tar.gz.</td>

+</tr>

+</table>

+<br />

+<table border="1">

+  <tr>

+  <th class="content" rowspan="1" colspan="1">Xalan distribution files</th>

+  <th class="content" rowspan="1" colspan="1">Xerces distribution files</th>

+  <th class="content" rowspan="1" colspan="1">Platform</th>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-aix_510-xlc_60_050623.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-aix_510-xlc_60_050623.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">AIX 5.1 (32-bit)</td>

+   </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-aix_510_64-xlc_60_050623.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-aix_510_64-xlc_60_050623.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">AIX 5.1 (64 bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1">HP-UX 11.0 (32 bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1">HP-UX 11.0 (64 bit)</td>

+  </tr>    

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-redhat_72-icc_71.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-redhat_72-icc_71.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">Redhat Linux 7.2 (32-bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-redhat_72_64-ecc_71.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-redhat_72_64-ecc_71.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">Redhat Linux 7.2 (64-bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1">Solaris 2.7 (32-bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1"> </td>

+  <td class="content" rowspan="1" colspan="1" />

+  <td class="content" rowspan="1" colspan="1">Solaris 2.7 (64-bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-suse_81-gcc_32.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-suse_81-gcc_32.tar.gz</td>

+  <td class="content" rowspan="1" colspan="1">SuSE Linux 8.1 (32-bit)</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-windows_2000-msvc_60.zip<br />

+</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-windows_nt-msvc_60.zip<br />

+</td>

+  <td class="content" rowspan="1" colspan="1">Windows 2000<br />

+</td>

+  </tr>

+  <tr>

+  <td class="content" rowspan="1" colspan="1">Xalan-C_1_11_0-windows_2003_64-ecl_71.zip<br />

+</td>

+  <td class="content" rowspan="1" colspan="1">xerces-c-3.1.1-windows_2003_64-ecc_71.zip<br />

+</td>

+  <td class="content" rowspan="1" colspan="1">Windows 2003 Server (64-bit)<br />

+</td>

+  </tr>

+</table>

+<p>The compiler version used for each platform is listed in the table below.

+    <table border="1">

+       <tr>

+         <th class="content" rowspan="1" colspan="1">Platform - Operating System</th>

+         <th class="content" rowspan="1" colspan="1">Compilers</th>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">AIX 5.1</td>

+         <td class="content" rowspan="1" colspan="1">IBM C and C++ for AIX 6.00</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">HP/UX 11.0</td>

+         <td class="content" rowspan="1" colspan="1">aCC A.03.52</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">Red Hat Linux 7.2</td>

+         <td class="content" rowspan="1" colspan="1">Intel C++ Compiler, version 7.1</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">Solaris 2.7</td>

+         <td class="content" rowspan="1" colspan="1">Sun Workshop 6 update 2</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">SuSE Linux 8.1</td>

+         <td class="content" rowspan="1" colspan="1">gcc Compiler, version 3.2.2</td>

+       </tr>

+       <tr>

+         <td class="content" rowspan="1" colspan="1">Windows NT, 2000, and XP</td>

+         <td class="content" rowspan="1" colspan="1">Microsoft Visual C++ with SP5 (for 32-bit)<br />

+         Intel C++ Compiler, version 7.1 (for 64-bit)</td>

+       </tr>

+    </table>

+</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Use GNU tar to untar the Solaris distribution file; see <a href="faq.html#gnutar">A tar checksum error on Solaris</a>.</td>

+</tr>

+</table>

+<a name="xalandists">&#8204;</a>

+

+<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 <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a>; see <a href="usagepatterns.html#icu">Using the ICU</a>,</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To access previous releases of Xalan-C++, visit the <a href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive 

+      directory</a>.</td>

+</tr>

+</table>

+

+

+<a name="path">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Setting up the path/library path</h3>

+<ul>

+  <li>

+<a href="#windowspath">For Windows</a>

+</li>

+  <li>

+<a href="#unixpath">For UNIX</a>

+</li>  

+</ul>

+

+<a name="windowspath">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>For Windows</h4>

+<p>To use the Windows binary distribution, you must place the Xalan executables and the Xalan and Xerces libraries on the path:</p>

+<ul>

+  <li>Put Xalan-C_1_11_0-&lt;my_Windows_distribution&gt;\bin and xerces-c-3.1.1-&lt;my_Windows_distribution&gt;\bin on the path.</li>

+</ul>

+<p>The Visual C++ Xalan project included with the Windows release knows the relative paths to the Xalan headers and libraries, 

+   but it does not know where you have unzipped the Xerces distribution. If you plan to use Visual C++ to build Xalan applications 

+   or <a href="readme.html#jar">rebuild Xalan</a>, you must also provide Visual C++ with access to the Xerces headers 

+   and libraries.</p> 

+<p>Use the Visual C++ Tools menu to open the Options dialog box, go to the Directories tab, and do the following:</p>

+<ul>

+  <li>Add the path to xerces-c-3.1.1-&lt;my_Windows_distribution&gt;\include to the list of directories of Include files.</li>

+  <li>Add the path to xerces-c-3.1.1-&lt;my_Windows_distribution&gt;\lib to the list of directories of Library files.</li>

+</ul>

+

+

+<a name="unixpath">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>For UNIX</h4>

+<p>To use one of the UNIX binary distributions, you must place the Xalan-C++ executable on the path, and the Xalan-C++ and Xerces-C++ 

+   libraries on the library path.</p>

+<p>For the Xalan-C++ AIX distributions:</p>

+<ul>

+  <li>Put Xalan-C_1_11_0-&lt;my_AIX_distribution&gt;/bin on the path (PATH).</li>

+  <li>Put Xalan-C_1_11_0-&lt;my_AIX_distribution&gt;/lib and xerces-c-3.1.1-&lt;my_AIX_distribution&gt;/lib 

+      on the library path (LIBPATH), or copy the shared libraries to /usr/lib.</li>

+</ul>

+<p>For the Xalan-C++ HP-UX 11 distributions:</p>

+<ul>

+  <li>Put Xalan-C_1_11_0-&lt;my_HPUX_distribution&gt;/bin on the path (PATH).<br />

+<br />

+</li>

+  <li>Put Xalan-C_1_11_0-&lt;my_HPUX_distribution&gt;/lib and xerces-c-3.1.1-&lt;my_HPUX_distribution&gt;/lib on the library path 

+      SHLIB_PATH), or copy the shared libraries to /usr/lib.</li>

+</ul>

+<p>For the Xalan-C++ Solaris distributions:</p>

+<ul>

+  <li>Put Xalan-C_1_11_0-&lt;my_Solaris_distribution&gt;/bin on the path (PATH).<br />

+<br />

+</li>

+  <li>Put Xalan-C_1_11_0-&lt;my_Solaris_distribution&gt;/lib and xerces-c-3.1.1-&lt;my_Solaris_distribution&gt;/lib on the library path 

+     (LD_LIBRARY_PATH), or copy the shared libraries to /usr/lib.</li>

+</ul>

+<p>For the Xalan-C++ RedHat and SuSE Linux distributions:</p>

+<ul>

+  <li>Put Xalan-C_1_11_0-&lt;my_Linux_distribution&gt;/bin on the path (PATH).</li>

+<li>Put Xalan-C_1_11_0-&lt;my_Linux_distribution&gt;/lib and xerces-c-3.1.1-&lt;my_Linux_distribution&gt;/lib on the library path (LD_LIBRARY_PATH), 

+or copy the shared libraries to /usr/lib.</li>

+</ul>

+

+<a name="samples">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Trying out the samples</h3>

+<p>The Xalan-C++ distribution includes a number of basic sample applications. We have precompiled these samples for you so they are ready to run, and you can review the source files to see just how they work. </p>

+<p>To run the samples, do the following:</p>

+<ol>

+<li>Set up your path (see above). In the Windows32 distribution, the sample executables are in

+Xalan-C_1_11_0-&lt;my_Windows_distribution&gt;\bin. In the UNIX distributions, the executables are in Xalan-C_1_11_0-&lt;my_UNIX_distribution&gt;/bin.</li>

+<li>Go to the samples subdirectory containing the sample.</li>

+<li>Run the sample from the command line (in Windows, use the DOS shell).</li>

+<li>Examine the application source files.</li>

+</ol>

+<p>For example, go to the SimpleTransform subdirectory and issue the following command:</p>

+<p>

+<code>SimpleTransform</code>

+</p>

+<p>SimpleTransform uses the foo.xsl stylesheet to transform foo.xml, and writes the transformation result to foo.out. To see how the example works, examine the source files: foo.xml, foo.xsl, foo.out, and SimpleTransform.cpp.</p>

+<p>For more information about the samples, see <a href="samples.html">Xalan-C++ Samples</a>.</p>

+<a name="commandline">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Performing your own transformations from the command line</h3>

+<p>The Xalan executable lets you perform transformations from the command line. The command line for 

+most standard transformations is as follows:</p>

+<p>

+<code>Xalan -o <b>

+<i>outputfile</i>

+</b> <b>

+<i>xmlSource</i>

+</b> <b>

+<i>stylesheet</i>

+</b>

+</code>

+</p>

+<p>where <b>

+<i>xmlSource</i>

+</b> is the XML source file name, <b>

+<i>stylesheet</i>

+</b> is the XSL stylesheet file name, and <b>

+<i>outputfile</i>

+</b> is the output file name.</p>

+<p>If you want the output to be displayed on the screen, simply omit the -o flag and <b>

+<i>outputfile</i>

+</b>.</p>

+<p>You can use this utility to try out XSL stylesheets you have written, to make sure they do what you expect with the XML source files they are designed to transform. The utility provides useful messages if the source file or stylesheet is not well formed. If you include a DOCTYPE statement or Schema hint in your XML source files and include the -v flag on the command line, the utility will also let you know whether the XML document is valid (conforms to that DOCTYPE or Schema). For more information, see <a href="commandline.html">Command-Line Utility</a>.</p>

+<a name="apps">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Setting up your own XSLT applications</h3>

+<p>You can start by using your own XML source files and XSL stylesheets with the sample applications, which illustrate a number of usage patterns. For more information on setting up applications, see <a href="usagepatterns.html">Basic Usage Patterns</a>.</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/icu.gif b/docs/xalan/xalan-c/icu.gif
new file mode 100644
index 0000000..7d3903f
--- /dev/null
+++ b/docs/xalan/xalan-c/icu.gif
Binary files differ
diff --git a/docs/xalan/xalan-c/index.html b/docs/xalan/xalan-c/index.html
new file mode 100644
index 0000000..0521d74
--- /dev/null
+++ b/docs/xalan/xalan-c/index.html
@@ -0,0 +1,537 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Version 1.11</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Version 1.11</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>Xalan-C++ 1.11<br />

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Version 1.11</h2>

+

+<ul>

+<li>

+<a href="#licenses">Licenses</a>

+</li>

+<li>

+<a href="#getinvolved">Getting Involved</a>

+</li>

+<li>

+<a href="#xsltStandards">XSLT Standards Implemented</a>

+</li>

+<li>

+<a href="#xmlParserLib">XML Parser Library</a>

+</li>

+<li>

+<a href="#securityIssues">Security Issues</a>

+</li>

+<li>

+<a href="#getstarted">Getting Started</a>

+</li>

+<li>

+<a href="#getWhatNeeded">Getting What You Need</a>

+</li>

+</ul>

+<p>The old Xalan-C/C++ 1.10 release can be found at 

+<a href="http://xml.apache.org/xalan-c">xml.apache.org/xalan-c</a>.</p>

+

+<a name="whatisxalan">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>What Is Xalan?</h3>

+

+<p>Xalan is an XSLT processor for transforming XML documents 

+into HTML, text, or other XML document types. 

+It uses for input an XML document and an XSLT stylesheet. 

+The engine also supports the entry of top-level stylesheet parameters. 

+Documentation exists on how to extend the library with 

+your own custom XPath functions.

+</p>

+<p>Xalan-C++ version 1.11 is a robust implementation of the 

+W3C Recommendations for 

+<a href="http://www.w3.org/TR/xslt">XSL Transformations (XSLT)</a> 

+and the 

+<a href="http://www.w3.org/TR/xpath">XML Path Language (XPath)</a>. 

+It works with the 

+<a href="http://xerces.apache.org/xerces-c">Xerces-C++ version 3.1.1</a> 

+release of XML parsers. 

+The focus for this Xalan release is on bug fixes and 

+compatibility with newer development platforms.

+</p>

+<p>The Xalan-C/C++ project creates and distributes a 

+standard XSLT library and a simple Xalan command-line 

+utility for transforming XML documents.

+</p>

+<p>This project is written in a reduced set of the C++ programming language. 

+This makes the library directly usable on numerous platforms. 

+A set of 'C' language APIs is also available so that 

+XSLT and XPath functionality is easily deployed to 'C' language applications.

+</p>

+<p>

+<a href="samples.html">Sample programs</a> are available 

+for you to test and experiment with as you learn the Xalan library.

+</p>

+<p>Some of the <a href="http://www.exslt.org">EXSLT extension functions</a> 

+for XPath are available. 

+We need to write and validate more of the EXSLT functions. 

+Apache also provides some of their own 

+<a href="extensionslib.html">XPath extensions</a> for use. 

+Documentation and examples are available for you to write 

+your own custom <a href="extensions.html">XPath extensions</a>.

+</p>

+<p>There is a library of <a href="extensionslib.html">XPath extensions</a> 

+that are provided by the Apache Xalan community.

+</p>

+

+

+<a name="licenses">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Licenses</h3>

+

+<p>The Xalan-C/C++ software conforms to The Apache Software Foundation 

+<a href="license.html">License, Version 2.0</a>.

+</p>

+

+

+<a name="getinvolved">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting Involved</h3>

+

+<p>You are invited to participate in 

+<a href="http://www.apache.org/foundation/getinvolved.html">The Apache Software Foundation</a>. 

+You will need to subscribe if you wish to receive mail from the lists. 

+Some lists require a subscription in order to post messages.

+</p>

+<p>The <a href="mailto:xalan-dev@xml.apache.org">xalan-dev</a> mailing list 

+is used to communicate product development issues with the software development team. 

+The xalan-dev messages are 

+<a href="http://mail-archives.apache.org/mod_mbox/xml-xalan-dev">archived here</a> 

+and on <a href="http://marc.info/?l=xalan-dev">Marc.info</a>.

+</p>

+<p>The <a href="mailto:xalan-c-users@xml.apache.org">xalan-c-users</a> mailing list 

+is used to discuss issues regarding the use of the Xalan-C/C++ software and libraries. 

+The xalan-c-users messages are 

+<a href="http://mail-archives.apache.org/mod_mbox/xml-xalan-c-users">archived here</a> 

+and on <a href="http://marc.info/?l=xalan-c-users">Marc.info</a>.

+</p>

+<p>The subversion repository changes are logged on the xalan-cvs mailing list and are 

+<a href="http://mail-archives.apache.org/mod_mbox/xml-xalan-cvs">archived here</a>

+and on <a href="http://marc.info/?l=xalan-cvs">Marc.info</a>.

+</p>

+<p>You can review the project sources and change history in the subversion repository at 

+<a href="http://svn.apache.org/viewvc/xalan/c">http://svn.apache.org/viewvc/xalan/c</a>. 

+</p>

+<p>You can get a private copy of the subversion snapshot of the development sources at 

+<a href="http://svn.apache.org/repos/asf/xalan/c/trunk">http://svn.apache.org/repos/asf/xalan/c/trunk</a> 

+using your favorite SVN program.

+</p>

+<p>The JIRA system is used for issue tracking. 

+You must create an account before you can post messages and files to the JIRA tracking system. 

+You can view the issues at 

+<a href="https://issues.apache.org/jira/browse/XALANC">https://issues.apache.org/jira/browse/XALANC</a>.

+</p>

+

+

+<a name="xsltStandards">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>XSLT Standards Implemented</h3>

+

+<p>Xalan-C/C++ implements the following specifications from the World Wide Web Consortium (W3C).

+</p>

+<ul>

+<li>

+<a href="http://www.w3.org/TR/xslt">XSL Transformations (XSLT) Version 1.0</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xml-stylesheet">Associating Style Sheets with XML documents 1.0 (Second Edition)</a>

+</li>

+</ul>

+

+<p>The next major release of Xalan-C/C++ will hopefully be compatible with following standards.  This added support will require a major version change from 1 to 2.

+</p>

+<ul>

+<li>

+<a href="http://www.w3.org/TR/xslt20">XSL Transformations (XSLT) Version 2.0</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xslt-xquery-serialization">XSLT 2.0 and XQuery 1.0 Serialization</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xpath20">XML Path Language (XPath) Version 2.0 (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xquery-semantics">XQuery 1.0 and XPath 2.0 Formal Semantics (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xpath-datamodel">XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xpath-functions">XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)</a>

+</li>

+</ul>

+

+

+

+<a name="xmlParserLib">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>XML Parser Library</h3>

+

+<p>Xalan-C/C++ uses the The Apache Software Foundation Xerces-C project that implements parsers for XML 1.0 and XML 1.1. 

+The following standards as specified by the 

+<a href="http://www.w3.org/TR">World Wide Web Consortium (W3C)</a> are implemented by the 

+<a href="http://xerces.apache.org/xerces-c">Xerces-C</a> XML parser library.

+</p>

+<ul>

+<li>

+<a href="http://www.w3.org/TR/xml">Extensible Markup Language (XML) 1.0 (Third Edition) - currently (Fifth Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xml11">Extensible Markup Language (XML) 1.1 (First Edition) - currently (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xml-id">xml:id Version 1.0</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xmlbase">XML Base (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xml-infoset">XML Information Set (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xml-names">Namespaces in XML 1.0 (Third Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xml-names11">Namespaces in XML 1.1 (Second Edition)</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xmlschema-1">XML Schema Part 1: Structures Second Edition</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xmlschema-2">XML Schema Part 2: Datatypes Second Edition</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/REC-DOM-Level-1">Document Object Model (DOM) Level 1</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/ElementTraversal">Element Traversal Specification</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/DOM-Level-2-Core">Document Object Model (DOM) Level 2 Core Specification</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/DOM-Level-2-Traversal-Range">Document Object Model (DOM) Level 2 Traversal and Range Specification</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/DOM-Level-3-Core">Document Object Model (DOM) Level 3 Core Specification</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/DOM-Level-3-Val">Document Object Model (DOM) Level 3 Validation Specification</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/DOM-Level-3-LS">Document Object Model (DOM) Level 3 Load and Save Specification</a>

+</li>

+<li>

+<a href="http://www.w3.org/TR/xinclude">XML Inclusions (XInclude) 1.0 (Second Edition)</a>

+</li>

+</ul>

+<p>The Xerces-C/C++ also supports the <a href="http://sax.sourceforge.net/">SAX 1.0 and SAX 2.0</a> projects. 

+SAX is primarily Java based. The Xerces-C/C++ project has implemented a SAX C++ API that looks much like the SAX Java API.

+</p>

+<p>Web Services and Web Security recommendations have been developed by the 

+<a href="http://www.w3.org">World Wide Web Consortium (W3C)</a> and 

+<a href="http://www.oasis-open.org">OASIS-OPEN</a> Advancing open standards for the information society. 

+The Xerces-C/C++ has support for custom entity resolvers which are inherited and

+supported by the Xalan-C/C++ library.

+</p>

+

+

+<a name="securityIssues">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Security Issues</h3>

+

+<p>The Xalan-C/C++ library has hooks so that custom entity resolvers can be deployed. 

+The entity resolvers are actually interfaces into the Xerces-C/C++ XML Parser Library. 

+Use of trusted entity resolvers greatly increases the security of XML based applications.

+</p>

+<p>The Web Services Architecture uses specifications and recommendations 

+that are documented by the following organizations.

+</p>

+<ul>

+<li>World Wide Web Consortium (W3C)<br />

+  [<a href="http://www.w3.org">http://www.w3.org]</a>]</li>

+<li>Advancing open standards for the information society (OASIS-OPEN)<br />

+  [<a href="http://www.oasis-open.org">http://www.oasis-open.org</a>]</li>

+<li>The Sourceforge SAX Project (SAX1, SAX2)<br />

+  [<a href="http://sax.sourceforge.net">http://sax.sourceforge.net</a>]</li>

+<li>Internet Engineering Task Force (IETF)<br />

+  [<a href="http://www.ietf.org">http://www.ietf.org</a>]</li>

+</ul>

+<p>There are some <a href="secureweb.html">architecture security</a> issues 

+that should be addressed by any XML parser or XSLT transformation application. 

+Other than validating and cleaning the content of XML elements, 

+the access to untrusted external entities is a big problem for security management.

+</p>

+<p>The "Xalan" comman-line transformation program does not deploy 

+an OASIS catalog or perform other security measures. 

+URLs are resolved using the system directory of the local machine 

+and DNS to resolve host locations. 

+The "Xalan" program should be used only with 

+trusted XSLT stylesheets and XML documents on a trusted computer.

+</p>

+<p>A future release of the "Xalan" command-line transformation program 

+may include support for an OASIS entity resolver catalog.

+</p>

+<p>Information on creating Secure Web Service Applications is useful for review. 

+This <a href="secureweb.html">security overview document</a> goes beyond the scope of 

+XSLT transformations and asks many pertinent security based questions.

+</p>

+

+

+<a name="getstarted">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting Started</h3>

+

+<p>The source code and documentation are delivered in separate packages. 

+Binary packages comprise the compiled libraries, the Xalan command line utility, and the C/C++ header files. 

+The documentation package contains the pre-built documentation. 

+The source package contains the sources to build everything.

+</p>

+<p>The current Xalan-C/C++ Version 1.11 is compatible with the stable releases of 

+<a href="http://xerces.apache.org/xerces-c">Xerces-C/C++</a> Version 3.0 and newer. The current stable release for Xerces-C/C++ is 3.1.1.

+</p>

+<p>The previous Xalan-C/C++ Version 1.10 works with Xerces-C/C++ Versions 2.7.0 and 2.8.0.

+</p>

+<p>If you are having problems using the product, 

+send your comments to the <a href="mailto:xalan-c-users@xml.apache.org">xalan-c-users</a> mail list.

+</p>

+<p>If you think a change needs to be made or have suggestions for future releases, 

+send your comments to the <a href="mailto:xalan-dev@xml.apache.org">xalan-dev</a> mail list.

+</p>

+<p>Binary releases are not yet available. 

+We would like to distribute Xalan-C/C++ Version 1.11 binary releases 

+using the same platforms specified for the compatible Xerces-C binary packages.

+</p>

+

+

+<a name="getWhatNeeded">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting What You Need</h3>

+

+<p>What you need depends whether you plan to 

+build from the sources or download prebuilt packages.

+</p>

+<p>The development platform used to build the Xalan-C/C++ (XSLT) library 

+should be the same as the platform used to build the Xerces-C/C++ (XML) parser library.

+</p>

+<p>Xalan-C/C++ (XSLT) library requires a working Xerces-C/C++ (XML) parser library. 

+The supported versions of Xerces-C/C++ version 3.0 or newer. Version 3.1.1

+is recommended.

+</p>

+<p>If you are ambitious and willing to experiment, 

+you can download the bleeding edge development from the 

+Apache Software Foundation subversion repositories. 

+Use your favorite subversion 'svn' utility for download.

+</p>

+<table border="1">

+<tr>

+<td class="content" rowspan="1" colspan="1">Xalan-C Repository</td>

+<td class="content" rowspan="1" colspan="1">http://svn.apache.org/repos/asf/xalan/c/trunk</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Xerces-C Repository</td>

+<td class="content" rowspan="1" colspan="1">http://svn.apache.org/repos/asf/xerces/c/trunk</td>

+</tr>

+</table>

+

+<p>The current stable 

+<a href="http://xerces.apache.org/xerces-c/download.cgi">Xerces-C/C++ (XML) packages</a> 

+are available for download.

+</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The sources from the Xalan-C repository are current for Version 1.11 

+until released packages are available. 

+You can help us prepare for a Version 1.11 release 

+by providing packages for your platforms 

+and let us know of your building issues.

+</td>

+</tr>

+</table>

+<br />

+

+<p>The previous version packages can still be downloaded until officially replaced.

+</p>

+<table border="1">

+<tr>

+<td class="content" rowspan="1" colspan="1">Xalan-C Version 1.10</td>

+<td class="content" rowspan="1" colspan="1">

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/">Xalan Package Downloads</a>

+</td>

+</tr>

+<tr>

+<td class="content" rowspan="1" colspan="1">Xerces-C Version 2.7</td>

+<td class="content" rowspan="1" colspan="1">

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xerces-c/">Xerces Package Downloads</a>

+</td>

+</tr>

+</table>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/install.html b/docs/xalan/xalan-c/install.html
new file mode 100644
index 0000000..8c7fefa
--- /dev/null
+++ b/docs/xalan/xalan-c/install.html
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Installing Xalan-C++</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Installing Xalan-C++</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>Installation<br />

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Installing Xalan-C++</h2>

+

+<ul>

+  <li>

+<a href="#SourcePkgs">Install Source Packages</a>

+</li>

+  <li>

+<a href="#BinaryPkgs">Install Binary Packages</a>

+</li>

+  <ul>

+    <li>

+<a href="#InsWin">Install Windows Packages</a>

+</li>

+    <li>

+<a href="#InsUnx">InstallUNIX Packages</a>

+</li>

+    <li>

+<a href="#InsPkgs">Other Packages</a>

+</li>

+  </ul>

+  <li>

+<a href="#XalanDocPkg">Install Documentation Packages</a>

+</li>

+  <ul>

+    <li>

+<a href="">Xalan-C User Guide</a>

+</li>

+    <li>

+<a href="">Xalan-C API Reference</a>

+</li>

+  </ul>

+</ul>

+

+<p>A pre-requisite for using the Xalan-C/C++ XSLT library is to

+  have a working Xerces-C/C++ XML Parser library.  Xerces-C/C++

+  must be of version 3.0 or newer.  Xerces-C/C++ Version 3.1.1 is preferred.

+</p>

+<p>The Xalan-C/C++ project is providing several types of packages.

+</p>

+<p>Source packages contain all of the source code to build the

+  Xalan-C/C++ library, the sample programs, and the documentation.

+  There are UNIX scripts and Windows project files by which the

+  library and sample programs can be built. 

+  There are also scripts for building the User Guide web pages and

+  a Doxygen configuration for building the interactive API Reference.

+</p>

+<p>Binary packages contain compiled libraries and the Xalan

+  command line program.  The binary packages also contain C/C++

+  header files for basic software development.

+</p>

+<p>Documentation packages contain pre-built directories of web

+  page html files for the Xalan-C/C++ User Guide and the interactive

+  API Reference for programmers.

+</p> 

+

+<a name="SourcePkgs">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Install Source Packages</h3>

+<p>We have no package managers for source packages.  You just extract

+  the contents of the distribution <b>

+<i>zip</i>

+</b> file or <b>

+<i>tar</i>

+</b> file 

+  into a source directory of your choosing.

+</p>

+<p>You also need to have the necessary C/C++ compiler tools installed

+  and a working copy of the Xerces-C/C++ XML parser library.

+</p>

+<p>Building the 

+  <a href="builddocs.html#buildweb">User Guide</a> 

+  from sources requires a working Xalan command line program.

+</p>

+<p>Building the interactive 

+  <a href="builddocs.html#buildapi">API Reference</a>

+  requires a UNIX or Linux system with a current copy of 

+  Doxygen and GraphViz installed.

+</p>

+

+<p>The building of a library from sources results in a directory from which

+  a binary package can be made.  

+  <a href="buildlibs.html#unixbldenv">UNIX and Linux builds</a>

+  are automatically targeted to an install destination.  

+  <a href="buildlibs.html#winbldinst">Installing a Windows build</a>

+  requires that the specific compiled products be copied to a usable

+  destination directory.

+</p>

+

+

+<a name="BinaryPkgs">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Install Binary Packages</h3>

+<p>The binary packages distributed by <b>

+<i>zip</i>

+</b> files

+  and <b>

+<i>tar</i>

+</b> files are usually extracted to the install 

+  <code>{target}</code> directory.

+  After extracting the contents, you then need to manually perform

+  some minor system configuration.

+</p>

+<p>Packages that are handled by a package manager are usually

+  installed and configured according to package maintainer.</p>

+

+<a name="InsWin">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Install Windows Packages</h4>

+<p>The Xalan-C and Xerces-C packages can be installed to the same

+  <code>{target}</code>

+  directory tree.  The debug and release builds have different names

+  for the shared <code>*.DLL</code> files.

+</p>

+<p>Windows operating systems require that the <code>{target}\bin</code>

+  directory be added to the PATH environment. You can make the path

+  a permanent part of the SYSTEM or user login DESKTOP environment. 

+  The PATH environment variable should contain an entry

+  where the <code>{target}\bin\*.DLL</code> files are found.

+</p>

+<ol>

+  <li>Right-Click on the computer icon.</li>

+  <li>Select Properties.</li>

+  <li>Select Advanced System Settings.</li>

+  <li>Select Environment Variables.</li>

+  <li>Add the <code>{target}\bin</code> directory to the

+      system PATH environment variable.</li>

+</ol>

+<p>The XP, NT, 2000 and 2003 systems allow environment variables to be 

+   set explicitly to individual user accounts. 

+   The Vista, Win-7, and 2008 systems have security administration that

+   gets in the way of updating individual user environments.

+</p>

+<p>In a command window or a command environment, you can add the following

+   shell command to set a temporary path to the XALAN <code>{target}\bin</code>

+   directory.

+</p>

+<blockquote class="source">

+<pre>set PATH=%PATH%;{target}\bin</pre>

+</blockquote>

+

+

+<a name="InsUnx">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Install UNIX Packages</h4>

+  <p>The path to the <code>Xalan</code> command line executable program should be added

+  to the PATH environment variable.</p>

+  <p>The path to the shared objects should be added to the system

+  configuration or overridden by specific entry in an environment

+  by which shared objects can be found.</p>

+<p>Here is some more detailed information on 

+  <a href="buildlibs.html#unixlibpath">UNIX Runtime</a> configuration.

+</p>

+

+<a name="InsPkgs">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Install Other Packages</h4>

+<p>These packages are usually installed and configured by a package manager.

+  You should refer to the documentation provided by the package maintainer.

+</p>

+

+

+

+<a name="XalanDocPkg">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Install Documentation Packages</h3>

+<p>The documentation packages are distributed as <b>

+<i>tar</i>

+</b> files

+  and <b>

+<i>zip</i>

+</b> files.  You just extract the files into a directory

+  that is reachable by your favorite web browser.  The head of the

+  documentation tree starts at the <a href="index.html">

+  <code>{docs}/xalan-c</code>

+</a> directory.

+</p>

+<p>

+<b>TO DO:</b>

+</p>

+<p>Rework the xalan/c/trunk/xdocs/sources/ scripts so that the

+   source documentation builds are

+   targeted to the xalan/c/trunk/build/docs/xalan-c/ directory path.

+</p>

+<p>Add a documentation script that performs a post-processing

+   operation when building the API Reference from Doxygen to relocate

+   the constructed products to the xalan/c/trunk/build/docs/xalan-c/apiDocs/

+   directory path.

+</p>

+<p>Details are found in our <a href="builddocs.html">Build Documents</a> pages.

+</p>

+

+<a name="DocWebPkg">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Install Xalan-C User Guide</h4>

+<p>Extract the distributed <b>

+<i>tar</i>

+</b> file or <b>

+<i>zip</i>

+</b>

+  file to the <code>{docs}</code> directory.  The package populates

+  the <code>{docs}/xalan-c/*</code> directory containing the Xalan-C

+  User Guide web pages.

+</p>

+

+

+<a name="DocApiPkg">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Install Xalan-C API Reference</h4>

+<p>Extract the distributed <b>

+<i>tar</i>

+</b> file or <b>

+<i>zip</i>

+</b>

+  file to the <code>{docs}</code> directory.  The package populates

+  the <code>{docs}/xalan-c/apiDocs/*</code> directory containing the

+  Xalan-C API Reference for programmers.

+</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/license.html b/docs/xalan/xalan-c/license.html
new file mode 100644
index 0000000..c11ea04
--- /dev/null
+++ b/docs/xalan/xalan-c/license.html
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Apache Software License Version 2.0</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Apache Software License Version 2.0</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>Licenses<br />

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Apache Software License Version 2.0</h2>

+<ul>

+  <li>

+<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License Version 2.0</a>

+</li>

+  <li>

+<a href="#notice">Xalan License Notice</a>

+</li>

+  <li>

+<a href="#license">Apache Software License Text</a>

+</li>

+</ul>

+<a name="notice">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xalan Software License Notice</h3>

+<blockquote class="source">

+<pre>   =======================================================================

+   == NOTICE file corresponding to section 4(d) of the Apache License.  ==

+   == Version 2.0, in this case for the Apache Xalan distribution.      ==

+   =======================================================================

+

+   Apache XALAN-C

+   Copyright (c) 1999-2012 The Apache Software Foundation

+

+   This product includes software developed at

+   The Apache Software Foundation (http://www.apache.org/).

+

+   This software is based on the ASF XERCES-C project.

+

+   Portions of this software were originally based on the following:

+     - software copyright (c) 1999, IBM Corporation. (http://www.ibm.com).

+

+   Additional copyright submissions and contributions:

+</pre>

+</blockquote>

+

+<a name="license">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Apache Software License Text</h3>

+<blockquote class="source">

+<pre>                                 Apache License

+                           Version 2.0, January 2004

+                        http://www.apache.org/licenses/

+

+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+

+   1. Definitions.

+

+      "License" shall mean the terms and conditions for use, reproduction,

+      and distribution as defined by Sections 1 through 9 of this document.

+

+      "Licensor" shall mean the copyright owner or entity authorized by

+      the copyright owner that is granting the License.

+

+      "Legal Entity" shall mean the union of the acting entity and all

+      other entities that control, are controlled by, or are under common

+      control with that entity. For the purposes of this definition,

+      "control" means (i) the power, direct or indirect, to cause the

+      direction or management of such entity, whether by contract or

+      otherwise, or (ii) ownership of fifty percent (50%) or more of the

+      outstanding shares, or (iii) beneficial ownership of such entity.

+

+      "You" (or "Your") shall mean an individual or Legal Entity

+      exercising permissions granted by this License.

+

+      "Source" form shall mean the preferred form for making modifications,

+      including but not limited to software source code, documentation

+      source, and configuration files.

+

+      "Object" form shall mean any form resulting from mechanical

+      transformation or translation of a Source form, including but

+      not limited to compiled object code, generated documentation,

+      and conversions to other media types.

+

+      "Work" shall mean the work of authorship, whether in Source or

+      Object form, made available under the License, as indicated by a

+      copyright notice that is included in or attached to the work

+      (an example is provided in the Appendix below).

+

+      "Derivative Works" shall mean any work, whether in Source or Object

+      form, that is based on (or derived from) the Work and for which the

+      editorial revisions, annotations, elaborations, or other modifications

+      represent, as a whole, an original work of authorship. For the purposes

+      of this License, Derivative Works shall not include works that remain

+      separable from, or merely link (or bind by name) to the interfaces of,

+      the Work and Derivative Works thereof.

+

+      "Contribution" shall mean any work of authorship, including

+      the original version of the Work and any modifications or additions

+      to that Work or Derivative Works thereof, that is intentionally

+      submitted to Licensor for inclusion in the Work by the copyright owner

+      or by an individual or Legal Entity authorized to submit on behalf of

+      the copyright owner. For the purposes of this definition, "submitted"

+      means any form of electronic, verbal, or written communication sent

+      to the Licensor or its representatives, including but not limited to

+      communication on electronic mailing lists, source code control systems,

+      and issue tracking systems that are managed by, or on behalf of, the

+      Licensor for the purpose of discussing and improving the Work, but

+      excluding communication that is conspicuously marked or otherwise

+      designated in writing by the copyright owner as "Not a Contribution."

+

+      "Contributor" shall mean Licensor and any individual or Legal Entity

+      on behalf of whom a Contribution has been received by Licensor and

+      subsequently incorporated within the Work.

+

+   2. Grant of Copyright License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      copyright license to reproduce, prepare Derivative Works of,

+      publicly display, publicly perform, sublicense, and distribute the

+      Work and such Derivative Works in Source or Object form.

+

+   3. Grant of Patent License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      (except as stated in this section) patent license to make, have made,

+      use, offer to sell, sell, import, and otherwise transfer the Work,

+      where such license applies only to those patent claims licensable

+      by such Contributor that are necessarily infringed by their

+      Contribution(s) alone or by combination of their Contribution(s)

+      with the Work to which such Contribution(s) was submitted. If You

+      institute patent litigation against any entity (including a

+      cross-claim or counterclaim in a lawsuit) alleging that the Work

+      or a Contribution incorporated within the Work constitutes direct

+      or contributory patent infringement, then any patent licenses

+      granted to You under this License for that Work shall terminate

+      as of the date such litigation is filed.

+

+   4. Redistribution. You may reproduce and distribute copies of the

+      Work or Derivative Works thereof in any medium, with or without

+      modifications, and in Source or Object form, provided that You

+      meet the following conditions:

+

+      (a) You must give any other recipients of the Work or

+          Derivative Works a copy of this License; and

+

+      (b) You must cause any modified files to carry prominent notices

+          stating that You changed the files; and

+

+      (c) You must retain, in the Source form of any Derivative Works

+          that You distribute, all copyright, patent, trademark, and

+          attribution notices from the Source form of the Work,

+          excluding those notices that do not pertain to any part of

+          the Derivative Works; and

+

+      (d) If the Work includes a "NOTICE" text file as part of its

+          distribution, then any Derivative Works that You distribute must

+          include a readable copy of the attribution notices contained

+          within such NOTICE file, excluding those notices that do not

+          pertain to any part of the Derivative Works, in at least one

+          of the following places: within a NOTICE text file distributed

+          as part of the Derivative Works; within the Source form or

+          documentation, if provided along with the Derivative Works; or,

+          within a display generated by the Derivative Works, if and

+          wherever such third-party notices normally appear. The contents

+          of the NOTICE file are for informational purposes only and

+          do not modify the License. You may add Your own attribution

+          notices within Derivative Works that You distribute, alongside

+          or as an addendum to the NOTICE text from the Work, provided

+          that such additional attribution notices cannot be construed

+          as modifying the License.

+

+      You may add Your own copyright statement to Your modifications and

+      may provide additional or different license terms and conditions

+      for use, reproduction, or distribution of Your modifications, or

+      for any such Derivative Works as a whole, provided Your use,

+      reproduction, and distribution of the Work otherwise complies with

+      the conditions stated in this License.

+

+   5. Submission of Contributions. Unless You explicitly state otherwise,

+      any Contribution intentionally submitted for inclusion in the Work

+      by You to the Licensor shall be under the terms and conditions of

+      this License, without any additional terms or conditions.

+      Notwithstanding the above, nothing herein shall supersede or modify

+      the terms of any separate license agreement you may have executed

+      with Licensor regarding such Contributions.

+

+   6. Trademarks. This License does not grant permission to use the trade

+      names, trademarks, service marks, or product names of the Licensor,

+      except as required for reasonable and customary use in describing the

+      origin of the Work and reproducing the content of the NOTICE file.

+

+   7. Disclaimer of Warranty. Unless required by applicable law or

+      agreed to in writing, Licensor provides the Work (and each

+      Contributor provides its Contributions) on an "AS IS" BASIS,

+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

+      implied, including, without limitation, any warranties or conditions

+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

+      PARTICULAR PURPOSE. You are solely responsible for determining the

+      appropriateness of using or redistributing the Work and assume any

+      risks associated with Your exercise of permissions under this License.

+

+   8. Limitation of Liability. In no event and under no legal theory,

+      whether in tort (including negligence), contract, or otherwise,

+      unless required by applicable law (such as deliberate and grossly

+      negligent acts) or agreed to in writing, shall any Contributor be

+      liable to You for damages, including any direct, indirect, special,

+      incidental, or consequential damages of any character arising as a

+      result of this License or out of the use or inability to use the

+      Work (including but not limited to damages for loss of goodwill,

+      work stoppage, computer failure or malfunction, or any and all

+      other commercial damages or losses), even if such Contributor

+      has been advised of the possibility of such damages.

+

+   9. Accepting Warranty or Additional Liability. While redistributing

+      the Work or Derivative Works thereof, You may choose to offer,

+      and charge a fee for, acceptance of support, warranty, indemnity,

+      or other liability obligations and/or rights consistent with this

+      License. However, in accepting such obligations, You may act only

+      on Your own behalf and on Your sole responsibility, not on behalf

+      of any other Contributor, and only if You agree to indemnify,

+      defend, and hold each Contributor harmless for any liability

+      incurred by, or claims asserted against, such Contributor by reason

+      of your accepting any such warranty or additional liability.

+

+   END OF TERMS AND CONDITIONS

+

+   APPENDIX: How to apply the Apache License to your work.

+

+      To apply the Apache License to your work, attach the following

+      boilerplate notice, with the fields enclosed by brackets "[]"

+      replaced with your own identifying information. (Don't include

+      the brackets!)  The text should be enclosed in the appropriate

+      comment syntax for the file format. We also recommend that a

+      file or class name and description of purpose be included on the

+      same "printed page" as the copyright notice for easier

+      identification within third-party archives.

+

+   Copyright [yyyy] [name of copyright owner]

+

+   Licensed 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.</pre>

+</blockquote>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/options-include.gif b/docs/xalan/xalan-c/options-include.gif
new file mode 100644
index 0000000..891421d
--- /dev/null
+++ b/docs/xalan/xalan-c/options-include.gif
Binary files differ
diff --git a/docs/xalan/xalan-c/options-sane.gif b/docs/xalan/xalan-c/options-sane.gif
new file mode 100644
index 0000000..c6c2f24
--- /dev/null
+++ b/docs/xalan/xalan-c/options-sane.gif
Binary files differ
diff --git a/docs/xalan/xalan-c/overview.html b/docs/xalan/xalan-c/overview.html
new file mode 100644
index 0000000..54a550c
--- /dev/null
+++ b/docs/xalan/xalan-c/overview.html
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Overview</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Overview</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>Overview<br />

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Overview</h2>

+<ul>

+  <li>

+<a href="#intro">Introduction</a>

+</li>

+  <li>

+<a href="#features">Xalan-C++ Features</a>

+</li>

+  <li>

+<a href="#towork">Getting to work with Xalan-C++</a>

+</li>

+  <li>

+<a href="#uptospeed">Getting up to speed with XSLT</a>

+</li>

+  <li>

+<a href="#glossary">Glossary</a>

+</li>

+</ul>

+

+<a name="intro">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Introduction</h3>

+<p>Xalan-C++ (named after a rare musical instrument) implements the <a href="http://www.w3.org/TR/xslt">W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0</a> and the 

+   <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a>. XSLT is the first part of the XSL stylesheet language for XML. It includes the XSL

+   Transformation vocabulary and XPath, a language for addressing parts of XML documents. For links to background materials, 

+   discussion groups, frequently asked questions, and tutorials on XSLT, see <a href="#uptospeed">Getting up to speed with 

+   XSLT</a>.</p> 

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">XSL also includes a vocabulary for formatting documents, which is not part of Xalan-C++.  For more information, see 

+      <a href="http://www.w3.org/TR/xsl">Extensible Stylesheet Language (XSL) Version 1.0 W3C Recommendation</a> and the <a href="http://xml.apache.org/fop">Apache XML FOP (Formatting Objects Project)

+      </a>.

+</td>

+</tr>

+</table>

+<p>You use the XSLT language to compose XSL stylesheets. An XSL stylesheet contains instructions for transforming XML documents 

+   from one document type to another document type (XML, HTML, or other). In structural terms, an XSL stylesheet specifies the 

+   transformation of one tree of nodes (the XML input) into another tree of nodes (the output or transformation result).</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The XSL stylesheet may generate and refer to cascading style sheets (<a href="http://www.w3.org/Style/CSS/">CSS</a>) 

+      as part of its output.

+</td>

+</tr>

+</table>  

+<p>In the following example, the foo.xsl stylesheet is used to transform foo.xml into foo.out:</p>

+<p>foo.xml:</p>

+<blockquote class="source">

+<pre>

+&lt;?xml version="1.0"?&gt;

+&lt;doc&gt;Hello&lt;/doc&gt;

+</pre>

+</blockquote>

+<p>foo.xsl:</p>

+<blockquote class="source">

+<pre>

+&lt;?xml version="1.0"?&gt; 

+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"&gt;

+&lt;xsl:template match="doc"&gt;

+&lt;out&gt;&lt;xsl:value-of select="."/&gt;&lt;/out&gt;

+&lt;/xsl:template&gt;

+&lt;/xsl:stylesheet&gt;

+</pre>

+</blockquote>

+<p>foo.out:</p>

+<blockquote class="source">

+<pre>&lt;out&gt;Hello&lt;/out&gt;</pre>

+</blockquote>

+

+<a name="features">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Xalan-C++ Features</h3>

+<ul> 

+  <li>Xalan-C++ fully implements the <a href="http://www.w3.org/TR/xslt">W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0</a>.</li>

+  <li>Xalan-C++ incorporates the <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a>.<br />

+<br />

+</li>

+  <li>Xalan-C++ uses <a href="http://xml.apache.org/xerces-c/index.html">Xerces-C++</a> to parse XML documents and XSL

+      stylesheets.<br />

+<br />

+      The input may appear in the form of a file or URL, a stream, or a <a href="http://www.w3.org/DOM">DOM</a>. 

+      Xalan-C++ performs the transformations specified in the XSL stylesheet and produces a file, a stream, or a DOM as you

+      specify when you set up the transformation.<br />

+<br />

+</li>

+  <li>Along with a complete API for performing transformations in your C++ applications, Xalan-C++ provides a <a href="commandline.html">command line</a> utility for convenient file-to-file transformations.<br />

+<br />

+</li>

+  <li>Xalan-C++ supports C++ <a href="extensions.html">extension functions</a>

+</li>

+</ul> 

+

+

+<a name="towork">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting to work with Xalan-C++</h3>

+<p>For instructions and some suggestions about how to get started using Xalan-C++, see <a href="download.html">Downloading Xalan-C++</a>,

+   <a href="buildlibs.html">Building Xalan-C++</a>, and <a href="install.html">Installing Xalan-C++</a>.</p>

+

+

+<a name="uptospeed">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting up to speed with XSLT</h3>

+<p>If you are still working through the details of the XSLT spec (the W3C 1.0 Recommendation), you may want 

+   to consult one or more of the following:</p>

+   <ul>

+     <li>Crane Softwright's <a href="http://www.CraneSoftwrights.com/training/">Free preview of Practical

+         Transformation Using XSLT and XPath</a>

+<br />

+<br />

+</li>

+     <li>Doug Tidwell's <a href="http://www.oreilly.com/catalog/xslt/">XSLT</a>, O'Reilly, 2001<br />

+<br />     </li>

+     <li>Bob DuCharme's <a href="http://www.manning.com/ducharme/index.html">XSLT Quickly</a>, Manning Publications,

+         2001<br />

+<br />

+</li>                 

+     <li>John Robert Gardner and Zarella Rendon's 

+         <a href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130404462,00.html">XSLT and XPath: A Guide to

+         Transformations</a>, Prentice-Hall, 2001<br />

+<br />

+</li>                 

+

+

+     <li>Elliotte Rusty Harold's <a href="http://www.ibiblio.org/xml/books/bible2/chapters/ch17.html">Chapter 17 of 

+         the XML Bible: XSL Transformations</a>

+<br />

+<br />

+</li>

+     <li>The Mulberry <a href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open Forum on XSL</a> 

+         (of interest to XSL users at all levels)<br />

+<br />

+</li>

+     <li>Objects by Design's <a href="http://www.objectsbydesign.com/projects/xmi_to_html.html">Transforming XMI to

+         HTML</a> (oriented towards XMI, "an XML-based, stream representation of a UML model," but also covers "generic"

+         XML transformations) and their related <a href="http://objectsbydesign.com/projects/xslt/xslt_by_example.html">XSLT

+         by Example</a>

+<br />

+<br />

+</li>

+         

+     <li>OASIS (the Organization for the Advancement of Structured Information Standards): 

+         <a href="http://www.oasis-open.org/cover/xsl.html">Extensible Stylesheet Language (XSL)</a> by Robin

+         Cover<br />

+<br />

+</li>

+     <li>Aaron Skonnard and Martin Gudgin's 

+<a href="http://www.theserverside.net/tt/books/addisonwesley/EssentialXML/index.tss">Essential 

+XML Quick Reference:</a> A Programmer's Reference to 

+XML, XPath, XSLT, XML Schema, SOAP and More. This reference is published by Addison Wesley, 2003, ISBN/0201740958.<br />

+<br />

+</li>

+        

+   </ul>

+<p>When you come across other useful introductory or background materials, please email <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>, so we can add them to this list.</p>

+   

+

+

+<a name="glossary">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Glossary</h3>

+<div class="glossary">

+       <p class="label">

+<em>XSLT Namespace</em>

+</p>

+       <blockquote class="item">The <a href="http://www.w3.org/TR/REC-xml-names/">XML namespace</a> for XSLT. An XML namespace is a 

+             collection of element and attribute names, identified by a Unique Resource Identifier (URI), which often takes 

+             the form of a URL, but is really just a unique string, not a pointer to a web page. The XSLT namespace URI is

+             http://www.w3.org/1999/XSL/Transform. In each XSLT stylesheet, you must declare this namespace in the stylesheet 

+             element tag and bind it to a local prefix. Like the XSLT specification, we always use xsl as the XSLT namespace 

+             prefix in our descriptions and examples, although you are free to bind any prefix to this namespace.<br />

+<br />

+</blockquote>

+        

+       <p class="label">

+<em>XSL Instruction</em>

+</p>

+       <blockquote class="item">Any tag associated with the XSLT namespace.<br />

+<br />

+</blockquote>

+        

+       <p class="label">

+<em>Template</em>

+</p>

+       <blockquote class="item">An element, usually with child elements, that specifies a "rule" or set of instructions to perform when a 

+             particular kind of node is encountered in the source tree.<br />

+<br />

+</blockquote>

+                

+       <p class="label">

+<em>XSL Template Instruction</em>

+</p>

+       <blockquote class="item">Any tag that occurs inside an xsl:template element and is associated with the XSLT namespace.<br />

+<br />

+</blockquote>

+                   

+       <p class="label">

+<em>Source Tree</em>

+</p>

+       <blockquote class="item">The XML tree input to the XSL process.<br />

+<br />

+</blockquote>

+        

+       <p class="label">

+<em>Result Tree</em>

+</p>

+       <blockquote class="item">The tree that is output by the XSL process.<br />

+<br />

+</blockquote>

+                

+       <p class="label">

+<em>Match Pattern</em>

+</p>

+       <blockquote class="item">The part of a template that defines the kind(s) of nodes to which the template applies.<br />

+<br />

+</blockquote>

+

+</div>

+<p>For more definitions of XSLT terminology, see Dave Pawson's <a href="http://www.dpawson.co.uk/xsl/xslvocab.html">XSLT 

+   Terminology Clarification</a> and the Glossary in Michael Kay's 

+   <a href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's Reference</a>.</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/programming.html b/docs/xalan/xalan-c/programming.html
new file mode 100644
index 0000000..52ee2b5
--- /dev/null
+++ b/docs/xalan/xalan-c/programming.html
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Programming Tips</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Programming Tips</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>Programming<br />

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Programming Tips</h2>

+   <ul>

+      <li>

+<a href="#intro">Introduction</a>

+</li>

+      <li>

+<a href="#memory">Pluggable Memory Management</a>

+</li>

+      <li>

+<a href="#more">More topics</a>

+</li>

+   </ul>

+

+<a name="intro">&#8204;</a>   

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Introduction</h3>

+<p>This section was created to guide users on how to use some of the new features going into the Xalan 

+source code base.  Some of the features discussed in this section are based on feedback and questions

+posted on the xalan-c-users newsgroup.  This section will cover the benefits of certain features

+and provide users with programming hints on how to utilize the features in their applications.</p>

+

+

+<a name="memory">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Pluggable Memory Management</h3>

+<p>Pluggable memory management was added as a new feature in Xalan-C Version 1.8;.  This feature introduces an

+object called MemoryManager which allows applications with stricter memory management requirements to 

+utilize a more efficient allocation method.  This MemoryManager object can be applied to 

+each processor instance, thus recovery procedures from memory leaks or processor crashes will be applied to 

+the associated instance only.</p>

+<p>The memory management model is similar to the memory management feature provided by the Xerces-C XML Parser.</p>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>How To Use This Feature</h4>

+<p>To apply memory management to your application, the MemoryManager object needs to be specified in two

+stages:</p>

+<ul>

+<li>At initialization phase.  The purpose of specifying a MemoryManager object during initialization is to 

+create a separate memory manager for the overall application.  Example of how this can be done is shown in 

+the example below<br />

+<br />

+<blockquote class="source">

+<pre>

+// Initialization step

+static void XalanTransformer::initialize(MemoryManager* initMemoryManager=0);

+</pre>

+</blockquote>

+</li>

+<li>Creation of a transformer instance.  This creates a unique memory manager for the instance of the 

+processor.  This step is optional.  If no memory manager is provided, the global heap is used as the memory

+source.  Example of this is shown below:<br />

+<br />

+<blockquote class="source">

+<pre>

+// Create instance of XalanTransformer

+MemoryManager      memMgrA;                // memory manager object

+XalanTransformer   transformerA(&amp;memMgrA); 

+

+MemoryManager      memMgrB;

+XalanTransformer   transformerB(&amp;memMgrB);

+XalanTransformer   transformerC(&amp;memMgrB);  // Uses same memory manager object as transformerB

+XalanTransformer   transformerD;           // Uses default static memory manager

+</pre>

+</blockquote>

+</li>

+</ul>

+<p>The above method demonstrates how users can apply the basic pluggable memory management feature.  Users

+also have the option of implementing their own memory manager.  This can be done by simply writing methods 

+for:</p>

+<blockquote class="source">

+<pre>

+// Method for allocating memory

+void* allocate(size_t size);

+</pre>

+</blockquote>

+<p>and</p>

+<blockquote class="source">

+<pre>

+// Method for deallocating memory

+void deallocate(void *p);

+</pre>

+</blockquote>

+<p>For an example of how to use this feature, please see the <a href="samples.html#simpletransform">

+SimpleTransform</a> sample that has been provided in the binary distributions.</p>

+

+

+

+<a name="more">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>More Topics</h3>

+<p>Please feel free to give us feedback on what topics you would like to see.</p>

+<p>Send comments to <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/readme.html b/docs/xalan/xalan-c/readme.html
new file mode 100644
index 0000000..163a08c
--- /dev/null
+++ b/docs/xalan/xalan-c/readme.html
@@ -0,0 +1,1108 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Release Notes</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Release Notes</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Release Notes</h2>

+<p>Release notes for Xalan-C++ Version 1.11</p>

+ <ul>

+  <li>

+<a href="#status">Status</a>

+</li>

+  <li>

+<a href="#build">Rebuilding Xalan-C++ and the sample applications</a>

+</li> 

+  <li>

+<a href="#contact">Getting in touch</a>

+</li>

+  <li>

+<a href="#history">History of software changes</a>

+</li>  

+ </ul>

+ <a name="status">&#8204;</a>

+ <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Status</h3>

+   <ul>

+    <li>

+<a href="#done">Changes for Xalan-C++ version 1.8</a>

+</li>

+    <li>

+<a href="#bugs">Bug reporting</a>

+</li>    

+    <li>

+<a href="#xml4c">Version of Xerces-C++ to use</a>

+</li>

+    <li>

+<a href="#to-do">To-do tasks for future Xalan-C++ releases</a>

+</li>

+   </ul>

+   <a name="done">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.8</h4>

+     <p>Major updates since version 1.7 include:</p>

+     <ul>

+      <li>

+<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10582&amp;version=10833">XalanC bugs fixed for this release</a>.</li>

+      <li>Upgrade from Xerces-C 2.4 to Xerces-C 2.5. </li>

+      <li>Provide build support for Cygwin and HP-UX 11.00 on Itanium.  Although binary distributions are not provided for the Cygwin environment and 

+          HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms. </li>

+      <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 

+          is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build

+          on this platform.  Please see <a href="#dotNet">"Step for doing a Windows Build with Visual Studio .NET"</a> for details.</li>

+      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these changes to your build environment, please see <a href="#xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"</a>

+</li>

+      

+      <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>

+      <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes". See bugzilla <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24304">24304</a> and <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=28386">28386</a>.</li>

+     </ul>  

+     

+

+   <a name="bugs">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Bug reporting</h4>

+     <p>All known Xalan-C++ bugs are listed in <a href="https://issues.apache.org/jira/browse/XALANC">JIRA (the Apache bug database)</a>. For a list of open bugs with links to each bug

+      report, see <a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;jqlQuery=project+%3D+XALANC+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC">XalanC open bugs</a>. If you find a new bug, please enter a XalanC bug report in this

+      database.</p>

+     <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Before you can enter your first bug report, you must submit your email address to Jira and receive a password.</td>

+</tr>

+</table> 

+     <p>We strongly encourage you write patches for problems you find and submit them to

+      xalan-dev@xml.apache.org. We review the patches we receive to make sure they do not break something else, and (assuming they 

+     do not) include them in our next release. In the interest of fixing bugs, adding enhancements, and addressing outstanding design

+     issues, we sincerely want (and need!) your active participation in the ongoing development of Xalan.</p>

+     <a name="xml4c">&#8204;</a>     

+     <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Version of Xerces-C++ to use</h4> 

+<p>Xalan-C++ Version 1.11 has been tested with Xerces-C++ version 3.1.1.</p>

+<p>For information about including the Xerces-C++ libraries on the path, see <a href="install.html#path">Setting up the system path</a>.</p>

+<p>

+<b>Important:</b> You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.</p>

+<p>If you compile both Xalan-C++ and Xerces-C++ from distribution sources using the same platform and compiler, you will avoid most of the compatibility issues.</p>

+

+<a name="to-do">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>To-do tasks for future Xalan-C++ releases</h4>

+    <ul>

+       <li>Update the documentation</li>

+       <li>Performance improvements</li>

+       <li>Add a more complete set of EXSLT functions</li>

+       <li>Add support for extension elements</li>

+       <li>Fix any conformance bugs we or our users find</li>

+       <li>Fix compiler and platform support issues</li>

+       <li>Add XPath2 support into Xalan-C++</li>

+    </ul>

+ <p>Watch the <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a> for more information and for ideas about how you can get involved.

+</p>

+    

+     

+  <a name="build">&#8204;</a>

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Rebuilding Xalan-C++</h3>

+<ul>

+<li>

+<a href="#jar">Rebuilding Xalan-C++</a>

+</li>

+<li>

+<a href="#samples">Rebuilding sample applications</a>

+</li>

+</ul>

+<a name="jar">&#8204;</a> 

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Rebuilding Xalan-C++</h4>

+   <ul>

+    <li>

+<a href="#needed">What you need from the distributions</a>

+</li>   

+    <li>

+<a href="#win32">Steps for doing a Windows Build</a>

+</li>

+    <li>

+<a href="#dotNet">Steps for doing a Windows Build with Visual Studio .NET</a>

+</li>

+    <li>

+<a href="#unix">Steps for doing a UNIX build</a>

+</li>       

+    <li>

+<a href="#locale">Steps for doing a Build with Message Localization Support</a>

+</li>

+    <li>

+<a href="#xercesdepdom">Steps for doing a Build with Xerces Deprecated DOM Support</a>

+</li>

+   </ul>

+<a name="needed">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>What you need from the distributions</h4>

+   <p>To rebuild Xalan-C++, you need the Xalan-C++ source files, the Xerces-C++ header files, and

+   for Windows the Xerces-C++ .lib file. If you want to rebuild with the ICU, you will need to download the ICU source package to build the ICU libraries. </p>

+

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You can also download Xalan-C++ source distributions from <a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c">Xalan-C downloads</a>: Xalan-C_1_11_0-src.zip and Xalan-C_1_11_0-src.tar.gz. Xerces-C++ source distributions are available from <a href="http://www.apache.org/dyn/closer.cgi/xerces/c">Xerces-C downloads</a>: 

+xerces-c-3.1.1-src.zip and xerces-c-3.1.1-src.tar.gz.</td>

+</tr>

+</table>

+<p>Keep in mind that at any given point in time the Xalan-C++ and Xerces-C++ source trees in the Apache XML repository may not be consistent. When we release a version of Xalan-C++ we certify that it is compatible with a given version of Xerces-C++. To be safe, use the Xerces distributions that we certify as compatible. Reminder: Xalan-C++ Version 1.11 is compatible with Xerces-C++ version 3.1.1.</p>

+   <p>For information on using the <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a>, see

+   <a href="usagepatterns.html#icu">Using the ICU</a>.

+   The recommended version of ICU for Xalan-C++ Version 1.11 is International Components for Unicode(ICU) version 3.2. You may be able to use newer ICU releases as they appear.</p>

+   <a name="win32">&#8204;</a>

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Windows build</h4>

+  <p>To build Xalan-C++ on Windows, you need Xerces-C++ and MS Visual C++ 6.0 installed with Service Pack 5 for Visual C++ and Visual Studio .NET.</p> 

+  <p>If you are using a different Service Pack, you must rebuild all of the Xerces and Xalan binaries.</p>

+<p>Before you do the following, be sure you have <a href="getstarted.html#windowspath">provided Visual C++ the paths to the Xerces headers and libraries</a>.</p>

+  <ol>    

+    <li>Create the ICUROOT environment variable and set it the the path of the ICU root.</li>

+    <li>Create the XERCESCROOT environment variable and set it to the path of the root of Xerces-C++.</li>

+    <li>Use Visual C++ to open the Xalan workspace (.dsw) from the xml-xalan\c\Projects\Win32\VC6.  If you are building with ICU, then use XalanICU.dsw.  Otherwise, open the Xalan.dsw workspace.<br />

+<br />

+    <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You may need to restart Visual Studio .NET in order for ICUROOT and XERCESCROOT to take effect.</td>

+</tr>

+</table>

+    <br />

+    As an alternative method to the steps described above, would be to go to "Tools" and select "Options" from Visual C++.  From the "Options" window, click on the "Directories" tab and do the following:

+    <ol>

+    <li>Show Directories for: Executable files.  Add the Xerces bin directory to the list.</li>

+    <li>Show Directories for: Include files.  Add the Xerces include directory to the list.  If you are building with ICU, add the ICU include directory to the list as well.</li>

+    <li>Show Directories for: Library files. Add the Xerces lib directory to the list.  If you are building with ICU, add the ICU lib directory to the list as well.</li>

+    </ol>

+</li>

+  </ol>

+  <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To recompile existing applications without changing your source code, be sure to modify your Project settings to pick up the Xalan headers in its new location. (see image below)</td>

+</tr>

+</table>

+  <p>

+<img src="options-sane.gif" alt="Visual C++ 6.0 Include Directories change" />

+</p>

+

+<a name="dotNet">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Windows Build with Microsoft Visual Studio .NET</h4>

+  <p>For users who want to build with Visual Studio .NET,</p>

+  <ol>

+    <li>Create the ICUROOT environment variable and set it the the path of the ICU root.</li>

+    <li>Create the XERCESCROOT environment variable and set it to the path of the root of Xerces-C++.</li>

+    <li>Use Visual Studio .NET to open the Xalan solution (.sln) from the xml-xalan\c\Projects\Win32\VC7.  If you are building with ICU, then use XalanICU.sln.  Otherwise, open the Xalan.sln solution file.<br />

+<br />

+    <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You may need to restart Visual Studio .NET in order for ICUROOT and XERCESCROOT to take effect.</td>

+</tr>

+</table>

+    <br />

+    An alternative method to the steps described above, would be to go to "Tools" and select "Options" from Visual Studio .NET.  From the "Options" window, click on the "Projects" folder to expand the list.  Select "VC++ Directories" from the list and do the following:

+    <ol>

+    <li>Show Directories for: Executable files.  Add the Xerces bin directory to the list.</li>

+    <li>Show Directories for: Include files.  Add the Xerces include directory to the list.  If you are building with ICU, add the ICU include directory to the list as well.</li>

+    <li>Show Directories for: Library files. Add the Xerces lib directory to the list.  If you are building with ICU, add the ICU lib directory to the list as well.</li>

+    </ol>

+</li>

+  </ol>

+  <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To recompile existing applications without changing your source code, be sure to modify your Project settings to pick up the Xalan headers in its new location. (see image below)</td>

+</tr>

+</table>

+  <p>

+<img src="NET_options.jpg" alt="Visual Studio .NET Include Directories change" />

+</p>

+  <a name="unix">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a UNIX build</h4>

+    <p>For users who want to build in the UNIX environment,</p>

+    <ol>

+      <li>The Xalan build files are written for GNU make, and will not work with other make utilities.<br />

+<br />

+</li>    

+      <li>Set the XERCESCROOT environment variable to the path to the root of Xerces-C++.<br />

+<br />

+</li>    

+      <li>Set the XALANCROOT environment variable to the path to the c directory in the root of the Xalan-C++

+       distribution.  For example, if the distribution is located in "/home/mydir", you would set the XALANCROOT to "/home/mydir/xml-xalan/c". <br />

+<br />

+</li>

+      <li>(Optional) If you are including the ICUBridge, install the ICU, use the shell to define XALAN_USE_ICU and to set the ICUROOT environment variable to the path to the ICU root. For more information, see (see <a href="usagepatterns.html#icu">Using the ICU</a>).  Note that building Xalan with ICU requires that Xerces must also be built with ICU.<br />

+<br />

+</li>

+      <li>Change directory to XALANCROOT. You can also 

+          build Xalan-C outside of the source tree, but you will need to adjust the path to the

+          runConfigure script in the next step.<br />

+<br />

+</li>      

+      <li>Run the runConfigure utility and provide the platform, C compiler, and C++ compiler flags as 

+          indicated below.  The runConfigure utility is used to generate the appropriate Makefile for 

+          the desired build platform based on the options specified by the user. Valid options for the 

+          runConfigure utility are:<br />

+<br />

+          <code>./runConfigure -p &lt;value&gt; -c &lt;value&gt; -x &lt;value&gt; [-[flag] &lt;value&gt;]</code>

+<br />

+<br />

+          <table border="1">

+          <tr>

+<th class="content" rowspan="1" colspan="1">flag</th>

+<th class="content" rowspan="1" colspan="1">Description</th>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">p</td>

+<td class="content" rowspan="1" colspan="1">Build platform. Option must be provided by user. Valid values <br />include: 

+          aix, linux, freebsd, netbsd, solaris, hp-10, hp-11, hp-11-ia64, irix,<br /> tru64, macosx, cygwin. </td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">c</td>

+<td class="content" rowspan="1" colspan="1">C compiler name. Example: gcc, cc, c89, xlc_r, etc.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">x</td>

+<td class="content" rowspan="1" colspan="1">C++ compiler name. Example: g++, xlC_r, CC, etc.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">d</td>

+<td class="content" rowspan="1" colspan="1">Indicates build is a debug build. Takes no values. Default is no <br />debug.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">t</td>

+<td class="content" rowspan="1" colspan="1">Transcoder to use. Valid value is 'icu'. Default is null.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">m</td>

+<td class="content" rowspan="1" colspan="1">Type of localization support method. Valid values include: inmem, <br />icu, and nls. 

+          Default is inmem.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">M</td>

+<td class="content" rowspan="1" colspan="1">Locale for Message Localization Support. Default is "en_US"</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">r</td>

+<td class="content" rowspan="1" colspan="1">Threads option. Valid values include: pthread or dce. Default is <br />dce</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">b</td>

+<td class="content" rowspan="1" colspan="1">Specify whether it is a 32-bit or 64-bit build. Valid values are 32 <br />and 64. 

+          Default is 32-bit</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">P</td>

+<td class="content" rowspan="1" colspan="1">Install root directory. Used if invoking build with gmake install or <br />gmake 

+          install-package. Default install root directory is /usr/local</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">l</td>

+<td class="content" rowspan="1" colspan="1">Extra link options other than the default. Default is null</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">z</td>

+<td class="content" rowspan="1" colspan="1">Extra compiler options other than the default. Default is null</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">C</td>

+<td class="content" rowspan="1" colspan="1">Extra configuration options.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">h</td>

+<td class="content" rowspan="1" colspan="1">To get help on the above commands. Default is no help.</td>

+</tr>

+          </table>

+<br />

+          <b>

+<i>Linux using GCC:</i>

+</b>  <code>./runConfigure -p linux -c gcc -x c++</code>

+<br />

+          <b>

+<i>Linux using the Intel compiler:</i>

+</b>  <code>./runConfigure -p linux -c icc -x icpc</code>

+<br />

+          <b>

+<i>AIX (32-bit):</i>

+</b>    <code>./runConfigure -p aix -c xlc_r -x xlC_r</code>

+<br />

+<br />

+          <b>

+<i>AIX (64-bit):</i>

+</b>    <code>./runConfigure -p aix -c xlc_r -x xlC_r -b 64</code>

+<br />

+<br />

+          <b>

+<i>Cygwin (32-bit):</i>

+</b>  <code>./runConfigure -p cygwin -c gcc -x g++</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 (32-bit):</i>

+</b>  <code>./runConfigure -p hp-11 -c cc -x aCC</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 (64-bit):</i>

+</b>  <code>./runConfigure -p hp-11 -c cc -x aCC -b 64</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 for Itanium (32-bit):</i>

+</b>  <code>./runConfigure -p hp-11-ia64 -c cc -x aCC</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 for Itanium (64-bit):</i>

+</b>  <code>./runConfigure -p hp-11-ia64 -c cc -x aCC -b 64</code>

+<br />

+<br />

+          <b>

+<i>Solaris (32-bit):</i>

+</b>  <code>./runConfigure -p solaris -c cc -x CC</code>

+<br />

+<br />

+          <b>

+<i>Solaris (64-bit):</i>

+</b>  <code>./runConfigure -p solaris -c cc -x CC -b 64</code>

+<br />

+<br />

+          If you choose to install the distribution after building the libraries and executables, 

+          then you will need to indicate where you would like the distribution to be installed. 

+          To specify the install directory for your distribution, specify the flag -P &lt;install directory&gt;. 

+          For example, building and installing on the AIX platform:<br />

+<br />

+          <code>./runConfigure -p aix -c xlc_r -x xlC_r -P $HOME/my_xalan</code>

+<br />

+<br />

+          <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The standard binary directories bin, lib, and include are created in the specified directory only if the install or install-package option is 

+          specified in the build process.<br />

+<br />

+</td>

+</tr>

+</table>

+          To see the other runConfigure flags you may include, use the help flag:<br />

+<br />

+               <code>./runConfigure -h</code>

+<br />

+<br />

+</li>

+      <li>Purge the previous build:<br />

+<br />

+          <code>     make clean</code>

+<br />

+<br />

+</li>

+      <li>Run the new build:<br />

+<br />

+               <code>make</code>

+<br />

+          or<br />

+               <code>make <b>

+<i>targ</i>

+</b>

+</code>

+<br />

+<br />

+          where <b>

+<i>targ</i>

+</b> can be one of:

+          <table border="1">

+          <tr>

+<th class="content" rowspan="1" colspan="1">targ</th>

+<th class="content" rowspan="1" colspan="1">Description</th>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">all</td>

+<td class="content" rowspan="1" colspan="1">Build the libraries and Xalan executable. This is the default target <br />if no targ 

+          is specified.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">clean</td>

+<td class="content" rowspan="1" colspan="1">Deletes existing binaries, executables, libraries, tests, and <br />samples.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">install</td>

+<td class="content" rowspan="1" colspan="1">Build the library, executables and copy them (along with <br />the header files) 

+          the specified install location.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">install-package</td>

+<td class="content" rowspan="1" colspan="1">Installs the library, executables, samples to the <br />specified location.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">Samples</td>

+<td class="content" rowspan="1" colspan="1">Builds the samples.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">Tests</td>

+<td class="content" rowspan="1" colspan="1">Builds the tests.</td>

+</tr>

+          </table>

+      </li>

+    </ol>

+    <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To recompile existing applications without changing your source code, be sure to modify the command line in your Makefile to pick up the Xalan headers from it's new location. e.g:  if your xalan source location is in /home/xml-xalan/c,</td>

+</tr>

+</table>

+<p>

+    <br />       <code>CC ... -I/home/xml-xalan/c/src -I/home/xml-xalan/c/src/xalanc mysrc.cpp</code>

+<a name="64">&#8204;</a>

+</p>

+   

+   <a name="locale">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Build with Message Localization Support</h4>

+   <p>Message Localization Support is a new feature to allow users to build Xalan-C++  such that 

+   diagnostic messages are issued in the language of their choice. Message localization support 

+   comes in three flavours:</p>

+   <ul>

+   <li>Building static messages in the form of a library (DLL or shared object) which can be bound 

+   to the Xalan executable. This method is referred to as "in memory".  By default, Xalan-C++ is built using "in memory" method.

+   </li>

+   <li>Building messages in the form of a library using localization support provided by the 

+   International Components for Unicode (ICU). </li>

+   <li>Building messages in the form of a message catalog. This method utilizes the localization 

+   support provided by the Unix National Language Support (NLS) system. This method is supported 

+   for UNIX platforms only. </li>

+   </ul>

+   <p>Regardless of which method you choose, a message file containing translated messages in the 

+   language of your choice must be provided. The standard message file provided in the Xalan-C++ 

+   version 1.8 source package is in XML Localization Interchange File Format (XLIFF) format 

+   and conforms to the XLIFF 1.1 standard (please see 

+   <a href="http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htm">

+   http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htm</a> for more 

+   information.) All message files must be written and conform with the XLIFF 1.1 standard.</p>

+   <p>Once an XLIFF message file has been created, the XLIFF file should be stored under 

+   xml-xalan/c/src/xalanc/NLS/&lt;locale_name&gt; directory (for example, the default XLIFF message file 

+   provided is XalanMsg_en_US.xlf). To build, you will need to follow the same steps 

+   as shown above for building in Unix or Windows but with a small change.</p>

+   <p>For building on Windows platform with "In Memory" method:</p>

+   <ol>

+   <li>Create the environment variable XERCESCROOT and set it to the path to the root of Xerces-C++.</li>

+   <li>Create the environment variable ICUROOT and set it to the path to the ICU root.</li>

+   <li>Open the Xalan.dsw workspace using Microsoft Visual C++. The "inmem" localization method should be configured by default.</li>

+   <li>Select the Localization project, and go to Settings and click on the "General" tab.Verify 

+   the build command line to use "nmake /f BuildMessages.mak TYPE=inmem LOCAL=en_US"</li>

+   <li>Run "Build all" with the configuration of your choice. </li>

+   </ol>

+   <p>For building on the Windows platform with ICU method:</p>

+   <ol>

+   <li>Create the environment variable XERCESCROOT and set it to the path to the root of Xerces-C++.</li>

+   <li>Create the environment variable ICUROOT and set it to the path to the ICU root.</li>

+   <li>Open the XalanICU.dsw workspace using Microsoft Visual C++. </li>

+   <li>Select the AllInOneWithICU project, and ensure that the project depends on the LocalizationWithICU 

+   project. </li>

+   <li>Select the LocalizationWithICU project, and go to Settings and click on the "General" tab. Modify 

+   the build command line to use "nmake /f BuildMessages.mak TYPE=icu LOCAL=en_US"</li>

+   <li>Open the tools.ini file under Projects\Win32\VC6\Utils\Localization and add the ICU root 

+   directory to the ICUROOT variable setting.</li>

+   <li>Run "Build all" with the configuration of your choice. </li>

+   </ol>

+   <p>For building on the Unix platform:</p>

+   <ol>

+   <li>Repeat steps 1 through 5 as outlined under "Steps for doing a UNIX Build" </li>

+   <li>Run the runConfigure and provide the platform, C compiler, C++ compiler, the message locale 

+   system flavour you are intending to build, and the locale support.<br />

+<br />

+   Example 1: to use the NLS method for localization support using the default locale en_US:<br />

+<br />

+   <b>

+<i>AIX (32-bit):</i>

+</b>  <code>./runConfigure -p aix -c xlc_r -x xlC -m nls</code>

+<br />

+<br />

+   <b>

+<i>AIX (64-bit):</i>

+</b>  .<code>/runConfigure -p aix -c xlc_r -x xlC_r -b 64 -m nls</code>

+<br />

+<br />

+   Example 2: to use the 'icu' method for localization support using the locale fr_FR:<br />

+<br />

+   <b>

+<i>AIX (32-bit):</i>

+</b>  <code>./runConfigure -p aix -c xlc_r -x xlC_r -m icu -M fr_Fr</code>

+<br />

+<br />

+   <b>

+<i>AIX (64-bit):</i>

+</b>  <code>./runConfigure -p aix -c xlc_r -x xlC_r -b 64 -m icu -M fr_Fr</code>

+<br />

+<br />

+   </li>

+   <li>Perform steps 7 and 8 as outlined under "Steps for doing a UNIX Build" </li>

+   </ol>

+   <p>After Xalan-C++ and associated libraries have been successfully built, the message catalog 

+   will be stored in the directory xml-xalan/c/bin.<br />

+<br />

+   <table border="1">

+   <tr>

+<th class="content" rowspan="1" colspan="1">Localization Build Type</th>

+<th class="content" rowspan="1" colspan="1">File Name</th>

+</tr>

+   <tr>

+<td class="content" rowspan="1" colspan="1">

+<b>

+<i>ICU or "in memory" method:</i>

+</b>

+</td>

+<td class="content" rowspan="1" colspan="1">libxalanMsg18.so (for UNIX)<br />

+   XalanMessages_1_8.dll and XalanMessages_1_8.lib (for Windows)

+   </td>

+</tr>

+   <tr>

+<td class="content" rowspan="1" colspan="1">

+<b>

+<i>NLS method:</i>

+</b>

+</td>

+<td class="content" rowspan="1" colspan="1">xalanMsg1_8.cat can be found in $XALANCROOT/nls/&lt;locale_name&gt;/ directory</td>

+</tr>

+   </table>

+   </p>

+   <p>The location of the message library, Xalan-C++ and Xerces-C++ binaries need to be added to the PATH and 

+   library path variables. Depending on the Message Localization Support method you've chosen, the 

+   following steps will need to be performed such that Xalan-C++ will be able to utilize the message 

+   library. </p>

+   <ul>

+   <li>For an "in memory" or "icu" build, the location of the Xalan-C++ and Xerces-C++ executables need to 

+   be added to the PATH variable. The location of the message library will need to be added to: 

+   <ul>

+   <li>the LIBPATH variable for AIX users </li>

+   <li>the LD_LIBRARY_PATH variable for RedHat, SuSE, and Solaris users </li>

+   <li>the SHLIB_PATH variable for HP-UX users. </li>

+   </ul>

+</li>

+   <li>For an NLS build, the message catalog will need to be added to the NLSPATH. </li>

+   </ul>   

+      

+   <a name="xercesdepdom">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Build with Xerces Deprecated DOM Support</h4>

+   <p>If you application is dependent on the XercesBridge classes to interface with the deprecated Xerces DOM, then the following steps must be taken.</p>

+   <p>For a Windows build using Microsoft Visual C++ version 6.0:</p>

+   <ol>

+   <li>Open the Xalan.dsw workspace</li>

+   <li>Go to "Projects" and select "Settings".  From the "Project Settings panel", highlight the AllInOne project.</li>

+   <li>Click on the "C/C++" tab on the right hand side.  From the "Category" pull down menu, scroll down to find "Preprocessor" and click to highlight this category.</li>

+   <li>Under the "Preprocessor Definitions" box, add "XALAN_BUILD_DEPRECATED_DOM_BRIDGE" to the list of definitions.</li>

+   <li>Rebuild Xalan-C++ as described under <a href="#win32">"Steps for doing a Windows Build"</a>

+</li>

+   </ol>

+   <p>For a UNIX build, the following parameter should be added to your runConfigure step: <code>-z -DXALAN_BUILD_DEPRECATED_DOM_BRIDGE</code>.  for example,</p>

+       <code>./runConfigure -p aix -c xlc_r -x xlC_r -z -DXALAN_BUILD_DEPRECATED_DOM_BRIDGE</code>

+<br />

+<br />

+

+   

+   <a name="samples">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Rebuilding a Sample application</h4>

+   <p>In the 32-bit Windows distribution, all of the sample applications can be built from the Xalan.dsw Visual C++ workspace.</p>

+<p>The Makefile that come with the UNIX distributions include targets for rebuilding one or all of the sample applications . To rebuild one or more sample applications, go to the root directory of your source package or the samples directory of your binary package, and run<br />

+<br />

+     <code>gmake <b>

+<i>Target</i>

+</b>

+</code>

+<br />

+<br />

+where <b>

+<i>Target</i>

+</b> is <code>Samples</code> (all the samples), <code>ApacheModuleXSLT</code>, <code>CompileStylesheet</code>, <code>DocumentBuilder</code>, <code>ExternalFunctions</code>, <code>ParsedSourceWrappers</code>, <code>SerializedNodeSet</code>, <code>SimpleTransform</code>,  <code>SimpleXPathAPI</code>, <code>SimpleXPathCAPI</code>, <code>StreamTransform</code>, <code>ThreadSafe</code> (Windows only), <code>TraceListen</code>, <code>TransformToXercesDOM</code>, <code>UseStylesheetParam</code>, <code>XPathWrapper</code>, <code>XalanTransform</code>, or <code>XalanTransformerCallback</code>.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">For information on building Apache Module, see <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a>

+</td>

+</tr>

+</table>

+   

+ <a name="contact">&#8204;</a>

+ <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting in Touch</h3>

+  <p>Your feedback is more than welcome. Offers of help are even more so! Perhaps you would like to contribute to the ongoing development, testing, or documentation of Xalan-C++.</p> 

+<p>Please email your comments, questions, suggestions, bug reports, and offers to help to <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.</p>

+ <a name="history">&#8204;</a>

+ <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Cumulative history of software changes</h3>

+   <p>The following sections list the changes in each release since Xalan-C++ version 0.40.0.</p>

+   

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.11</h4>

+<p>This is a general bug fix release with added stability features.</p>

+<p>Major updates since version 1.10 include:</p>

+<ul>

+  <li>Add support for Xerces-C 3.0 and newer</li>

+  <li>Drop support for Microsoft Studio (VC6)</li>

+  <li>Fix support issues for AIX 5.3</li>

+  <li>Fix support issues for Solaris 2.8</li>

+  <li>Fix support issues for GCC-4.3</li>

+  <li>Add support for Microsoft .NET 2008 (VC9) </li>

+  <li>Add support for Microsoft .NET 2010 (VC10)</li>

+  <li>Add number and nodeset types as top-level stylesheet parameters</li>

+  <li>

+<a href="#bugfix11">Bugs fixed in this release</a>.</li>

+</ul>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.10</h4>

+<p>Major updates since version 1.9 include:</p>

+<ul>

+  <li>Support for XML 1.1 and Namespaces in XML 1.1.</li>

+  <li>Added support for IBM XLC 7.0 compiler on AIX.</li>

+  <li>Improved and stabilized C pluggable memory management functionality.</li> 

+  <li>Various improvements in Xalan XML serializers for better performance and stability.</li>

+  <li>Upgrade from Xerces-C 2.6 to Xerces-C 2.7.</li>

+ </ul>  

+  

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.9</h4>

+<p>Major updates since version 1.8 include:</p>

+<ul>

+  <li>Pluggable Memory Management.  This feature allows applications to maintain precise control over memory allocations.  This 

+      will allow users, with knowledge of their application's characteristics, to provide a more efficient allocation method 

+      than the general purpose procedures provided by the system.  for more information on how to use this feature, please see

+      the <a href="programming.html#memory">Pluggable Memory Management</a> section of the Programming page.</li>

+  <li>Improved stability on the execution of large stylesheets and XML documents.  Because the current implementation relies on 

+      function recursion, certain stylesheets/input documents may cause the program stack to overflow and cause the application 

+      to fail.  It also may inhibit executing stylesheets that are heavily dependent on recursive functions.  This feature will 

+      prevent these types of failure. </li>

+  <li>Provided a global option to pool all text node strings.  This feature allows developers to set a flag to determine if a 

+      parsed source tree will pool the values of all of the text nodes in the XML document.  By doing so, this can result in a 

+      significant reduction in memory usage, particularly if there are a lot of repeated values in text nodes.  Please see 

+      the class descriptions for <a href="apiDocs/classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a>,  

+      <a href="apiDocs/classXalanDefaultParsedSource.html">XalanDefaultParsedSource</a>, and

+      <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> in the <a href="apiDocs/index.html">

+      API Reference</a> section for more information.</li> 

+  <li>Added support for Microsoft Studio .NET V7.1.  Project files for Microsoft Studio .NET V7.1 have been provided under the 

+      directory xml-xalan\c\Projects\Win32\VC7.1.</li>

+  <li>Upgrade from Xerces-C 2.5 to Xerces-C 2.6. </li>

+ </ul>  

+

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.8</h4>

+     <p>Major updates since version 1.7 include:</p>

+     <ul>

+      <li>Upgrade from Xerces-C 2.4 to Xerces-C 2.5. </li>

+      <li>Provide build support for Cygwin and HP-UX 11.00 on Itanium.  Although binary distributions are not provided for the Cygwin environment and 

+          HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms. </li>

+      <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 

+          is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build

+          on this platform.  Please see <a href="build_instruct.html#dotNet">"Step for doing a Windows Build with Visual Studio .NET"</a> 

+          for details.</li>

+      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users 

+          are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these 

+          changes to your build environment, please see <a href="#xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"

+          </a>

+</li>

+      

+      <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>

+      <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes".</li>

+

+     </ul>  

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.7</h4>

+     <p>Major updates since version 1.6 include:</p>

+     <ul>

+      <li>Message Localization Support. This feature enables Xalan-C++ to issue diagnostic messages 

+      in languages other than the default language (English). In order to utilize this feature, 

+      the user must provide a version of the Xalan-C++ message catalog that has been translated in 

+      their language of choice. For more information on how to exploit this feature, please see  

+      <a href="#locale">Steps for doing a Build with Message Localization Support</a>.</li>

+      <li>Build, packaging, and installation improvements. Changes to the Xalan-C++ makefiles now 

+      allow for a more flexible build, packaging, and install process. Each step in a typical 

+      build process can be invoked by specifying the appropriate target, for example to build the 

+      executable, and/or samples, or install the build at user-specified location. For more 

+      information on building Xalan-C++, please see <a href="#unix">Steps for doing a Unix build

+      </a>.</li>

+      <li>Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved 

+      into an exclusive directory within the xalanc/XercesParserLiaison directory called 

+      'Deprecated'. If your application is dependent on these classes to interface with the 

+      deprecated Xerces DOM you must alter your include directive with the 'Deprecated' directory. 

+      For example:<br />

+<br />

+      <code>#include "xalanc/XercesParserLiaison/XercesDocumentBridge.hpp"</code>

+<br />

+<br />

+      should be changed to:<br />

+<br />

+      <code>#include "xalanc/XercesParserLiaison/Deprecated/XercesDocumentBridge.hpp"</code>

+<br />

+<br />

+</li>

+      <li>Upgrade from Xerces-C 2.3 to Xerces-C 2.4. </li>

+      <li>Porting of ThreadSafe example to UNIX platform.</li>

+      <li>Implementation of EXSLT string extension functions encode-uri() and decode-uri(). </li>

+      <li>Implementation of EXSLT dynamic extension function evaluate(). </li>

+      <li>Implementation of EXSLT date-time extension function date-time().</li>

+     </ul>  

+     

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.6</h4>

+     <p>Major updates since version 1.5 include:</p>

+     <ul>

+	<li>Directory "sane include" reorganization.  A new sub-directory called 'xalanc' has been added to the src directory (for source distribution packages) and include directory (for binary distribution packages).  New source files which include Xalan headers will need to be modified to include the 'xalanc' prefix in the header path.  

+            For example: <br />

+<br />

+            <code>#include &lt;XPath/XObject.hpp&gt;</code>

+<br />

+<br />

+            will need to be changed to <br />

+<br />

+            <code>#include &lt;xalanc/XPath/XObject.hpp&gt;</code>

+<br />

+<br />

+            For Windows users, all project files have been modified to reflect this change.  For UNIX users, please see <a href="#unix">Steps for doing a UNIX build</a> for migration considerations.</li>

+     </ul>  

+     

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.5</h4>

+     <p>Major updates since version 1.4 include:</p>

+     <ul>

+	<li>For Windows, Xalan-C++ is now packaged as a single DLL.  The project files to build separate DLLs are now deprecated and will not be maintained.</li>

+	<li>Support for Xerces-C++ DOMNode classes.</li>

+	<li>New sample <b>TransformToXercesDOM</b> that illustrates how to perform a transform resulting in a Xerces-C++ DOMDocument</li>

+	<li>Usage of the Xerces-C++ C++ namespace and creation of Xalan-C++ namespace.</li>

+     </ul>  

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.4</h4>

+     <p>Major updates since version 1.3 include:</p>

+     <ul>

+       <li>The Xalan-C++ distributions no longer include the Xerces-C++ headers and libraries. Accordingly, you must download the appropriate Xerces-C++ distribution (see <a href="getstarted.html#download">Downloading what you need</a>.</li>

+       <li>64-bit build for HP-11; <a href="#64">untested 64-bit support</a> for Solaris and AIX.</li>

+       <li>New Linux platform and compiler: Redhat 7.2 with gcc 3.1.</li>

+       <li>

+<a href="http://www.stlport.org/">STLport</a> is no longer required on any of our supported platforms.</li> 

+       <li>

+<a href="extensionslib.html#exslt">Alpha support for a number of EXSLT functions</a>.</li>       

+       <li>

+<a href="samples.html#parsedsourcewrappers">ParsedSourceWrappers</a>, a sample that

+       illustrates how to perform transformations with input in the form of a pre-built

+       XalanDOM or XalanSourceTree.</li>

+     </ul>  

+     

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.3</h4>

+    <p>Major updates since version 1.2 include:</p>

+     <ul>

+       <li>A new and simplified command-line utility: <a href="commandline.html#xalanexe">the Xalan executable</a>

+</li>

+       <li>New XPath samples exploiting the XPathEvaluator C API and illustrating serialization of an XPath result set: <a href="samples.html#simplexpathcapi">SimpleXPathCAPI</a> and <a href="samples.html#serializenodeset">SerializeNodeSet</a>

+</li>

+       <li>A new <a href="usagepatterns.html#xercesdomwrapperparsedsource">wrapper class</a> that lets you pass in a Xerces DOM as input for a transformation</li>

+       <li>Bug fixes.</li>

+       <li>Changed XPathException to XalanXPathException because of a clash with a new Xerces class of the same name.</li>

+      </ul>

+     

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.2</h4>

+    <p>Major updates since version 1.1 include:</p>

+     <ul>

+      <li>

+<a href="extensionslib.html">Introduction of a library of extension functions</a>

+</li>

+      <li>Support for pre-parsed source documents and pre-compiled stylesheets in 

+      <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> and the C API.</li>

+      <li>Support for stylesheet params in <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> 

+      and the C API</li>

+      <li>Support for extension functions in <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a>

+</li>

+      <li>Performance enhancements</li>

+      </ul>

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.1</h4>

+   <p>In addition to adding to the list of platforms on which Xalan-C++ builds, our focus for this release has been on bug fixes, performance enhancements, 

+      and providing a simplified C++ and C API for performing standard transformations. Major updates since version 1.0 include:</p>

+   <ul>

+     <li>Added HP-UX 11 build.</li>

+     <li>Added Solaris build.</li>

+     <li>Greatly improved performance.</li>

+     <li>Improved conformance to the XSLT specification.</li>

+     <li>Simplified the C++ API and provided a C API for performing standard transformations with the <a href="usagepatterns.html#xalantransformer">XalanTransformer</a> class and associated header files.</li>

+     <li>Added sample illustrating use of XalanTransformer and the new C++ API: 

+         <a href="samples.html#xalantransform">XalanTransform</a>.</li> 

+     <li>Added sample illustrating use of XalanTransformer, the new C API, and how to run Xalan-C++ and perform transformations on an 

+         Apache Web server: <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a>.</li>

+     <li>Added the <a href="samples.html#streamtransform">StreamTransform</a> sample.</li>

+     <li>Eliminated dependencies on non-public Xerces headers; accordingly can now build with the Xerces distribution.</li>

+     <li>Fixed namespace mapping and inheritance problems.</li>

+     <li>Fixed failure of &lt;copy-of ...&gt; to include CRLFs (if any) in the result.</li>

+     <li>Fixed bug sorting in reverse document order based on position. </li>

+     <li>Fixed &lt;xsl:number&gt; bug with use of letter-value="traditional" for "classical" Greek numbering.</li>

+     <li>Fixed use of &lt;xsl:fallback&gt; within a top-level extension function.</li>

+     <li>Fixed HTML output method bug. The &lt;HEAD&gt; element was not including a &lt;META&gt; tag with the encoding.</li>

+     <li>Fixed bug using key() in match patterns to find descendants.</li>

+     <li>Fixed bug using the id() function in complex match patterns.</li>

+     <li>Fixed problem outputting multiple single-character CDATA sections.</li>

+     <li>Fixed problem outputting whitespace characters.</li>

+     <li>Fixed problem transforming from a stream on UNIX platforms.</li>

+     <li>Fixed a bug with the document() function, which was generating a syntax error if called in the following manner: document(<b>

+<i>string</i>

+</b>,/).</li>

+     <li>Fixed named templates bug accepting global parameter when called with a parameter of the same name that the named template does not 

+         recognize.</li>

+   </ul> 

+   

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.0</h4>

+   <p>Major updates since version 0.40.0 include:</p>

+   <ul>

+     <li>Full support for namespace handling</li>

+     <li>Full implementation of the format-number() function and support for the decimal-format element</li>

+     <li>Integration with the <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a> for number formatting, sorting, and output encoding</li>

+     <li>Support for the exclude-result-prefixes attribute</li>

+     <li>Support for the output encoding attribute</li>

+   </ul>

+   

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 0.40.0</h4>

+   <p>Major updates since version 0.30.0 include:</p>

+   <ul>

+     <li>Permitting OS file names (as well as URLs) as command-line arguments with TestXSLT</li>

+     <li>Stricter compliance for HTML and XML output</li>

+     <li>Improved handling of relative URI's</li>

+     <li>Improved handling of Import and Include</li>

+     <li>Better namespace handling (although there are still problems here)</li>

+     <li>Support for Document() function</li>

+     <li>Support for XPath predicates</li>

+     <li>ProblemListener with a different output stream and call 

+         XalanTransformer::setProblemListener() before calling XalanTransformer::transform().</li>

+   </ul>

+   

+

+  

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/releasenotes.html b/docs/xalan/xalan-c/releasenotes.html
new file mode 100644
index 0000000..163a08c
--- /dev/null
+++ b/docs/xalan/xalan-c/releasenotes.html
@@ -0,0 +1,1108 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Release Notes</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Release Notes</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Release Notes</h2>

+<p>Release notes for Xalan-C++ Version 1.11</p>

+ <ul>

+  <li>

+<a href="#status">Status</a>

+</li>

+  <li>

+<a href="#build">Rebuilding Xalan-C++ and the sample applications</a>

+</li> 

+  <li>

+<a href="#contact">Getting in touch</a>

+</li>

+  <li>

+<a href="#history">History of software changes</a>

+</li>  

+ </ul>

+ <a name="status">&#8204;</a>

+ <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Status</h3>

+   <ul>

+    <li>

+<a href="#done">Changes for Xalan-C++ version 1.8</a>

+</li>

+    <li>

+<a href="#bugs">Bug reporting</a>

+</li>    

+    <li>

+<a href="#xml4c">Version of Xerces-C++ to use</a>

+</li>

+    <li>

+<a href="#to-do">To-do tasks for future Xalan-C++ releases</a>

+</li>

+   </ul>

+   <a name="done">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.8</h4>

+     <p>Major updates since version 1.7 include:</p>

+     <ul>

+      <li>

+<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10582&amp;version=10833">XalanC bugs fixed for this release</a>.</li>

+      <li>Upgrade from Xerces-C 2.4 to Xerces-C 2.5. </li>

+      <li>Provide build support for Cygwin and HP-UX 11.00 on Itanium.  Although binary distributions are not provided for the Cygwin environment and 

+          HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms. </li>

+      <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 

+          is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build

+          on this platform.  Please see <a href="#dotNet">"Step for doing a Windows Build with Visual Studio .NET"</a> for details.</li>

+      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these changes to your build environment, please see <a href="#xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"</a>

+</li>

+      

+      <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>

+      <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes". See bugzilla <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24304">24304</a> and <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=28386">28386</a>.</li>

+     </ul>  

+     

+

+   <a name="bugs">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Bug reporting</h4>

+     <p>All known Xalan-C++ bugs are listed in <a href="https://issues.apache.org/jira/browse/XALANC">JIRA (the Apache bug database)</a>. For a list of open bugs with links to each bug

+      report, see <a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;jqlQuery=project+%3D+XALANC+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC">XalanC open bugs</a>. If you find a new bug, please enter a XalanC bug report in this

+      database.</p>

+     <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Before you can enter your first bug report, you must submit your email address to Jira and receive a password.</td>

+</tr>

+</table> 

+     <p>We strongly encourage you write patches for problems you find and submit them to

+      xalan-dev@xml.apache.org. We review the patches we receive to make sure they do not break something else, and (assuming they 

+     do not) include them in our next release. In the interest of fixing bugs, adding enhancements, and addressing outstanding design

+     issues, we sincerely want (and need!) your active participation in the ongoing development of Xalan.</p>

+     <a name="xml4c">&#8204;</a>     

+     <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Version of Xerces-C++ to use</h4> 

+<p>Xalan-C++ Version 1.11 has been tested with Xerces-C++ version 3.1.1.</p>

+<p>For information about including the Xerces-C++ libraries on the path, see <a href="install.html#path">Setting up the system path</a>.</p>

+<p>

+<b>Important:</b> You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.</p>

+<p>If you compile both Xalan-C++ and Xerces-C++ from distribution sources using the same platform and compiler, you will avoid most of the compatibility issues.</p>

+

+<a name="to-do">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>To-do tasks for future Xalan-C++ releases</h4>

+    <ul>

+       <li>Update the documentation</li>

+       <li>Performance improvements</li>

+       <li>Add a more complete set of EXSLT functions</li>

+       <li>Add support for extension elements</li>

+       <li>Fix any conformance bugs we or our users find</li>

+       <li>Fix compiler and platform support issues</li>

+       <li>Add XPath2 support into Xalan-C++</li>

+    </ul>

+ <p>Watch the <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a> for more information and for ideas about how you can get involved.

+</p>

+    

+     

+  <a name="build">&#8204;</a>

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Rebuilding Xalan-C++</h3>

+<ul>

+<li>

+<a href="#jar">Rebuilding Xalan-C++</a>

+</li>

+<li>

+<a href="#samples">Rebuilding sample applications</a>

+</li>

+</ul>

+<a name="jar">&#8204;</a> 

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Rebuilding Xalan-C++</h4>

+   <ul>

+    <li>

+<a href="#needed">What you need from the distributions</a>

+</li>   

+    <li>

+<a href="#win32">Steps for doing a Windows Build</a>

+</li>

+    <li>

+<a href="#dotNet">Steps for doing a Windows Build with Visual Studio .NET</a>

+</li>

+    <li>

+<a href="#unix">Steps for doing a UNIX build</a>

+</li>       

+    <li>

+<a href="#locale">Steps for doing a Build with Message Localization Support</a>

+</li>

+    <li>

+<a href="#xercesdepdom">Steps for doing a Build with Xerces Deprecated DOM Support</a>

+</li>

+   </ul>

+<a name="needed">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>What you need from the distributions</h4>

+   <p>To rebuild Xalan-C++, you need the Xalan-C++ source files, the Xerces-C++ header files, and

+   for Windows the Xerces-C++ .lib file. If you want to rebuild with the ICU, you will need to download the ICU source package to build the ICU libraries. </p>

+

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You can also download Xalan-C++ source distributions from <a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c">Xalan-C downloads</a>: Xalan-C_1_11_0-src.zip and Xalan-C_1_11_0-src.tar.gz. Xerces-C++ source distributions are available from <a href="http://www.apache.org/dyn/closer.cgi/xerces/c">Xerces-C downloads</a>: 

+xerces-c-3.1.1-src.zip and xerces-c-3.1.1-src.tar.gz.</td>

+</tr>

+</table>

+<p>Keep in mind that at any given point in time the Xalan-C++ and Xerces-C++ source trees in the Apache XML repository may not be consistent. When we release a version of Xalan-C++ we certify that it is compatible with a given version of Xerces-C++. To be safe, use the Xerces distributions that we certify as compatible. Reminder: Xalan-C++ Version 1.11 is compatible with Xerces-C++ version 3.1.1.</p>

+   <p>For information on using the <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a>, see

+   <a href="usagepatterns.html#icu">Using the ICU</a>.

+   The recommended version of ICU for Xalan-C++ Version 1.11 is International Components for Unicode(ICU) version 3.2. You may be able to use newer ICU releases as they appear.</p>

+   <a name="win32">&#8204;</a>

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Windows build</h4>

+  <p>To build Xalan-C++ on Windows, you need Xerces-C++ and MS Visual C++ 6.0 installed with Service Pack 5 for Visual C++ and Visual Studio .NET.</p> 

+  <p>If you are using a different Service Pack, you must rebuild all of the Xerces and Xalan binaries.</p>

+<p>Before you do the following, be sure you have <a href="getstarted.html#windowspath">provided Visual C++ the paths to the Xerces headers and libraries</a>.</p>

+  <ol>    

+    <li>Create the ICUROOT environment variable and set it the the path of the ICU root.</li>

+    <li>Create the XERCESCROOT environment variable and set it to the path of the root of Xerces-C++.</li>

+    <li>Use Visual C++ to open the Xalan workspace (.dsw) from the xml-xalan\c\Projects\Win32\VC6.  If you are building with ICU, then use XalanICU.dsw.  Otherwise, open the Xalan.dsw workspace.<br />

+<br />

+    <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You may need to restart Visual Studio .NET in order for ICUROOT and XERCESCROOT to take effect.</td>

+</tr>

+</table>

+    <br />

+    As an alternative method to the steps described above, would be to go to "Tools" and select "Options" from Visual C++.  From the "Options" window, click on the "Directories" tab and do the following:

+    <ol>

+    <li>Show Directories for: Executable files.  Add the Xerces bin directory to the list.</li>

+    <li>Show Directories for: Include files.  Add the Xerces include directory to the list.  If you are building with ICU, add the ICU include directory to the list as well.</li>

+    <li>Show Directories for: Library files. Add the Xerces lib directory to the list.  If you are building with ICU, add the ICU lib directory to the list as well.</li>

+    </ol>

+</li>

+  </ol>

+  <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To recompile existing applications without changing your source code, be sure to modify your Project settings to pick up the Xalan headers in its new location. (see image below)</td>

+</tr>

+</table>

+  <p>

+<img src="options-sane.gif" alt="Visual C++ 6.0 Include Directories change" />

+</p>

+

+<a name="dotNet">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Windows Build with Microsoft Visual Studio .NET</h4>

+  <p>For users who want to build with Visual Studio .NET,</p>

+  <ol>

+    <li>Create the ICUROOT environment variable and set it the the path of the ICU root.</li>

+    <li>Create the XERCESCROOT environment variable and set it to the path of the root of Xerces-C++.</li>

+    <li>Use Visual Studio .NET to open the Xalan solution (.sln) from the xml-xalan\c\Projects\Win32\VC7.  If you are building with ICU, then use XalanICU.sln.  Otherwise, open the Xalan.sln solution file.<br />

+<br />

+    <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You may need to restart Visual Studio .NET in order for ICUROOT and XERCESCROOT to take effect.</td>

+</tr>

+</table>

+    <br />

+    An alternative method to the steps described above, would be to go to "Tools" and select "Options" from Visual Studio .NET.  From the "Options" window, click on the "Projects" folder to expand the list.  Select "VC++ Directories" from the list and do the following:

+    <ol>

+    <li>Show Directories for: Executable files.  Add the Xerces bin directory to the list.</li>

+    <li>Show Directories for: Include files.  Add the Xerces include directory to the list.  If you are building with ICU, add the ICU include directory to the list as well.</li>

+    <li>Show Directories for: Library files. Add the Xerces lib directory to the list.  If you are building with ICU, add the ICU lib directory to the list as well.</li>

+    </ol>

+</li>

+  </ol>

+  <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To recompile existing applications without changing your source code, be sure to modify your Project settings to pick up the Xalan headers in its new location. (see image below)</td>

+</tr>

+</table>

+  <p>

+<img src="NET_options.jpg" alt="Visual Studio .NET Include Directories change" />

+</p>

+  <a name="unix">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a UNIX build</h4>

+    <p>For users who want to build in the UNIX environment,</p>

+    <ol>

+      <li>The Xalan build files are written for GNU make, and will not work with other make utilities.<br />

+<br />

+</li>    

+      <li>Set the XERCESCROOT environment variable to the path to the root of Xerces-C++.<br />

+<br />

+</li>    

+      <li>Set the XALANCROOT environment variable to the path to the c directory in the root of the Xalan-C++

+       distribution.  For example, if the distribution is located in "/home/mydir", you would set the XALANCROOT to "/home/mydir/xml-xalan/c". <br />

+<br />

+</li>

+      <li>(Optional) If you are including the ICUBridge, install the ICU, use the shell to define XALAN_USE_ICU and to set the ICUROOT environment variable to the path to the ICU root. For more information, see (see <a href="usagepatterns.html#icu">Using the ICU</a>).  Note that building Xalan with ICU requires that Xerces must also be built with ICU.<br />

+<br />

+</li>

+      <li>Change directory to XALANCROOT. You can also 

+          build Xalan-C outside of the source tree, but you will need to adjust the path to the

+          runConfigure script in the next step.<br />

+<br />

+</li>      

+      <li>Run the runConfigure utility and provide the platform, C compiler, and C++ compiler flags as 

+          indicated below.  The runConfigure utility is used to generate the appropriate Makefile for 

+          the desired build platform based on the options specified by the user. Valid options for the 

+          runConfigure utility are:<br />

+<br />

+          <code>./runConfigure -p &lt;value&gt; -c &lt;value&gt; -x &lt;value&gt; [-[flag] &lt;value&gt;]</code>

+<br />

+<br />

+          <table border="1">

+          <tr>

+<th class="content" rowspan="1" colspan="1">flag</th>

+<th class="content" rowspan="1" colspan="1">Description</th>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">p</td>

+<td class="content" rowspan="1" colspan="1">Build platform. Option must be provided by user. Valid values <br />include: 

+          aix, linux, freebsd, netbsd, solaris, hp-10, hp-11, hp-11-ia64, irix,<br /> tru64, macosx, cygwin. </td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">c</td>

+<td class="content" rowspan="1" colspan="1">C compiler name. Example: gcc, cc, c89, xlc_r, etc.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">x</td>

+<td class="content" rowspan="1" colspan="1">C++ compiler name. Example: g++, xlC_r, CC, etc.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">d</td>

+<td class="content" rowspan="1" colspan="1">Indicates build is a debug build. Takes no values. Default is no <br />debug.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">t</td>

+<td class="content" rowspan="1" colspan="1">Transcoder to use. Valid value is 'icu'. Default is null.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">m</td>

+<td class="content" rowspan="1" colspan="1">Type of localization support method. Valid values include: inmem, <br />icu, and nls. 

+          Default is inmem.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">M</td>

+<td class="content" rowspan="1" colspan="1">Locale for Message Localization Support. Default is "en_US"</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">r</td>

+<td class="content" rowspan="1" colspan="1">Threads option. Valid values include: pthread or dce. Default is <br />dce</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">b</td>

+<td class="content" rowspan="1" colspan="1">Specify whether it is a 32-bit or 64-bit build. Valid values are 32 <br />and 64. 

+          Default is 32-bit</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">P</td>

+<td class="content" rowspan="1" colspan="1">Install root directory. Used if invoking build with gmake install or <br />gmake 

+          install-package. Default install root directory is /usr/local</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">l</td>

+<td class="content" rowspan="1" colspan="1">Extra link options other than the default. Default is null</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">z</td>

+<td class="content" rowspan="1" colspan="1">Extra compiler options other than the default. Default is null</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">C</td>

+<td class="content" rowspan="1" colspan="1">Extra configuration options.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">h</td>

+<td class="content" rowspan="1" colspan="1">To get help on the above commands. Default is no help.</td>

+</tr>

+          </table>

+<br />

+          <b>

+<i>Linux using GCC:</i>

+</b>  <code>./runConfigure -p linux -c gcc -x c++</code>

+<br />

+          <b>

+<i>Linux using the Intel compiler:</i>

+</b>  <code>./runConfigure -p linux -c icc -x icpc</code>

+<br />

+          <b>

+<i>AIX (32-bit):</i>

+</b>    <code>./runConfigure -p aix -c xlc_r -x xlC_r</code>

+<br />

+<br />

+          <b>

+<i>AIX (64-bit):</i>

+</b>    <code>./runConfigure -p aix -c xlc_r -x xlC_r -b 64</code>

+<br />

+<br />

+          <b>

+<i>Cygwin (32-bit):</i>

+</b>  <code>./runConfigure -p cygwin -c gcc -x g++</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 (32-bit):</i>

+</b>  <code>./runConfigure -p hp-11 -c cc -x aCC</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 (64-bit):</i>

+</b>  <code>./runConfigure -p hp-11 -c cc -x aCC -b 64</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 for Itanium (32-bit):</i>

+</b>  <code>./runConfigure -p hp-11-ia64 -c cc -x aCC</code>

+<br />

+<br />

+          <b>

+<i>HP-UX 11 for Itanium (64-bit):</i>

+</b>  <code>./runConfigure -p hp-11-ia64 -c cc -x aCC -b 64</code>

+<br />

+<br />

+          <b>

+<i>Solaris (32-bit):</i>

+</b>  <code>./runConfigure -p solaris -c cc -x CC</code>

+<br />

+<br />

+          <b>

+<i>Solaris (64-bit):</i>

+</b>  <code>./runConfigure -p solaris -c cc -x CC -b 64</code>

+<br />

+<br />

+          If you choose to install the distribution after building the libraries and executables, 

+          then you will need to indicate where you would like the distribution to be installed. 

+          To specify the install directory for your distribution, specify the flag -P &lt;install directory&gt;. 

+          For example, building and installing on the AIX platform:<br />

+<br />

+          <code>./runConfigure -p aix -c xlc_r -x xlC_r -P $HOME/my_xalan</code>

+<br />

+<br />

+          <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The standard binary directories bin, lib, and include are created in the specified directory only if the install or install-package option is 

+          specified in the build process.<br />

+<br />

+</td>

+</tr>

+</table>

+          To see the other runConfigure flags you may include, use the help flag:<br />

+<br />

+               <code>./runConfigure -h</code>

+<br />

+<br />

+</li>

+      <li>Purge the previous build:<br />

+<br />

+          <code>     make clean</code>

+<br />

+<br />

+</li>

+      <li>Run the new build:<br />

+<br />

+               <code>make</code>

+<br />

+          or<br />

+               <code>make <b>

+<i>targ</i>

+</b>

+</code>

+<br />

+<br />

+          where <b>

+<i>targ</i>

+</b> can be one of:

+          <table border="1">

+          <tr>

+<th class="content" rowspan="1" colspan="1">targ</th>

+<th class="content" rowspan="1" colspan="1">Description</th>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">all</td>

+<td class="content" rowspan="1" colspan="1">Build the libraries and Xalan executable. This is the default target <br />if no targ 

+          is specified.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">clean</td>

+<td class="content" rowspan="1" colspan="1">Deletes existing binaries, executables, libraries, tests, and <br />samples.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">install</td>

+<td class="content" rowspan="1" colspan="1">Build the library, executables and copy them (along with <br />the header files) 

+          the specified install location.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">install-package</td>

+<td class="content" rowspan="1" colspan="1">Installs the library, executables, samples to the <br />specified location.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">Samples</td>

+<td class="content" rowspan="1" colspan="1">Builds the samples.</td>

+</tr>

+          <tr>

+<td class="content" rowspan="1" colspan="1">Tests</td>

+<td class="content" rowspan="1" colspan="1">Builds the tests.</td>

+</tr>

+          </table>

+      </li>

+    </ol>

+    <table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">To recompile existing applications without changing your source code, be sure to modify the command line in your Makefile to pick up the Xalan headers from it's new location. e.g:  if your xalan source location is in /home/xml-xalan/c,</td>

+</tr>

+</table>

+<p>

+    <br />       <code>CC ... -I/home/xml-xalan/c/src -I/home/xml-xalan/c/src/xalanc mysrc.cpp</code>

+<a name="64">&#8204;</a>

+</p>

+   

+   <a name="locale">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Build with Message Localization Support</h4>

+   <p>Message Localization Support is a new feature to allow users to build Xalan-C++  such that 

+   diagnostic messages are issued in the language of their choice. Message localization support 

+   comes in three flavours:</p>

+   <ul>

+   <li>Building static messages in the form of a library (DLL or shared object) which can be bound 

+   to the Xalan executable. This method is referred to as "in memory".  By default, Xalan-C++ is built using "in memory" method.

+   </li>

+   <li>Building messages in the form of a library using localization support provided by the 

+   International Components for Unicode (ICU). </li>

+   <li>Building messages in the form of a message catalog. This method utilizes the localization 

+   support provided by the Unix National Language Support (NLS) system. This method is supported 

+   for UNIX platforms only. </li>

+   </ul>

+   <p>Regardless of which method you choose, a message file containing translated messages in the 

+   language of your choice must be provided. The standard message file provided in the Xalan-C++ 

+   version 1.8 source package is in XML Localization Interchange File Format (XLIFF) format 

+   and conforms to the XLIFF 1.1 standard (please see 

+   <a href="http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htm">

+   http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htm</a> for more 

+   information.) All message files must be written and conform with the XLIFF 1.1 standard.</p>

+   <p>Once an XLIFF message file has been created, the XLIFF file should be stored under 

+   xml-xalan/c/src/xalanc/NLS/&lt;locale_name&gt; directory (for example, the default XLIFF message file 

+   provided is XalanMsg_en_US.xlf). To build, you will need to follow the same steps 

+   as shown above for building in Unix or Windows but with a small change.</p>

+   <p>For building on Windows platform with "In Memory" method:</p>

+   <ol>

+   <li>Create the environment variable XERCESCROOT and set it to the path to the root of Xerces-C++.</li>

+   <li>Create the environment variable ICUROOT and set it to the path to the ICU root.</li>

+   <li>Open the Xalan.dsw workspace using Microsoft Visual C++. The "inmem" localization method should be configured by default.</li>

+   <li>Select the Localization project, and go to Settings and click on the "General" tab.Verify 

+   the build command line to use "nmake /f BuildMessages.mak TYPE=inmem LOCAL=en_US"</li>

+   <li>Run "Build all" with the configuration of your choice. </li>

+   </ol>

+   <p>For building on the Windows platform with ICU method:</p>

+   <ol>

+   <li>Create the environment variable XERCESCROOT and set it to the path to the root of Xerces-C++.</li>

+   <li>Create the environment variable ICUROOT and set it to the path to the ICU root.</li>

+   <li>Open the XalanICU.dsw workspace using Microsoft Visual C++. </li>

+   <li>Select the AllInOneWithICU project, and ensure that the project depends on the LocalizationWithICU 

+   project. </li>

+   <li>Select the LocalizationWithICU project, and go to Settings and click on the "General" tab. Modify 

+   the build command line to use "nmake /f BuildMessages.mak TYPE=icu LOCAL=en_US"</li>

+   <li>Open the tools.ini file under Projects\Win32\VC6\Utils\Localization and add the ICU root 

+   directory to the ICUROOT variable setting.</li>

+   <li>Run "Build all" with the configuration of your choice. </li>

+   </ol>

+   <p>For building on the Unix platform:</p>

+   <ol>

+   <li>Repeat steps 1 through 5 as outlined under "Steps for doing a UNIX Build" </li>

+   <li>Run the runConfigure and provide the platform, C compiler, C++ compiler, the message locale 

+   system flavour you are intending to build, and the locale support.<br />

+<br />

+   Example 1: to use the NLS method for localization support using the default locale en_US:<br />

+<br />

+   <b>

+<i>AIX (32-bit):</i>

+</b>  <code>./runConfigure -p aix -c xlc_r -x xlC -m nls</code>

+<br />

+<br />

+   <b>

+<i>AIX (64-bit):</i>

+</b>  .<code>/runConfigure -p aix -c xlc_r -x xlC_r -b 64 -m nls</code>

+<br />

+<br />

+   Example 2: to use the 'icu' method for localization support using the locale fr_FR:<br />

+<br />

+   <b>

+<i>AIX (32-bit):</i>

+</b>  <code>./runConfigure -p aix -c xlc_r -x xlC_r -m icu -M fr_Fr</code>

+<br />

+<br />

+   <b>

+<i>AIX (64-bit):</i>

+</b>  <code>./runConfigure -p aix -c xlc_r -x xlC_r -b 64 -m icu -M fr_Fr</code>

+<br />

+<br />

+   </li>

+   <li>Perform steps 7 and 8 as outlined under "Steps for doing a UNIX Build" </li>

+   </ol>

+   <p>After Xalan-C++ and associated libraries have been successfully built, the message catalog 

+   will be stored in the directory xml-xalan/c/bin.<br />

+<br />

+   <table border="1">

+   <tr>

+<th class="content" rowspan="1" colspan="1">Localization Build Type</th>

+<th class="content" rowspan="1" colspan="1">File Name</th>

+</tr>

+   <tr>

+<td class="content" rowspan="1" colspan="1">

+<b>

+<i>ICU or "in memory" method:</i>

+</b>

+</td>

+<td class="content" rowspan="1" colspan="1">libxalanMsg18.so (for UNIX)<br />

+   XalanMessages_1_8.dll and XalanMessages_1_8.lib (for Windows)

+   </td>

+</tr>

+   <tr>

+<td class="content" rowspan="1" colspan="1">

+<b>

+<i>NLS method:</i>

+</b>

+</td>

+<td class="content" rowspan="1" colspan="1">xalanMsg1_8.cat can be found in $XALANCROOT/nls/&lt;locale_name&gt;/ directory</td>

+</tr>

+   </table>

+   </p>

+   <p>The location of the message library, Xalan-C++ and Xerces-C++ binaries need to be added to the PATH and 

+   library path variables. Depending on the Message Localization Support method you've chosen, the 

+   following steps will need to be performed such that Xalan-C++ will be able to utilize the message 

+   library. </p>

+   <ul>

+   <li>For an "in memory" or "icu" build, the location of the Xalan-C++ and Xerces-C++ executables need to 

+   be added to the PATH variable. The location of the message library will need to be added to: 

+   <ul>

+   <li>the LIBPATH variable for AIX users </li>

+   <li>the LD_LIBRARY_PATH variable for RedHat, SuSE, and Solaris users </li>

+   <li>the SHLIB_PATH variable for HP-UX users. </li>

+   </ul>

+</li>

+   <li>For an NLS build, the message catalog will need to be added to the NLSPATH. </li>

+   </ul>   

+      

+   <a name="xercesdepdom">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Steps for doing a Build with Xerces Deprecated DOM Support</h4>

+   <p>If you application is dependent on the XercesBridge classes to interface with the deprecated Xerces DOM, then the following steps must be taken.</p>

+   <p>For a Windows build using Microsoft Visual C++ version 6.0:</p>

+   <ol>

+   <li>Open the Xalan.dsw workspace</li>

+   <li>Go to "Projects" and select "Settings".  From the "Project Settings panel", highlight the AllInOne project.</li>

+   <li>Click on the "C/C++" tab on the right hand side.  From the "Category" pull down menu, scroll down to find "Preprocessor" and click to highlight this category.</li>

+   <li>Under the "Preprocessor Definitions" box, add "XALAN_BUILD_DEPRECATED_DOM_BRIDGE" to the list of definitions.</li>

+   <li>Rebuild Xalan-C++ as described under <a href="#win32">"Steps for doing a Windows Build"</a>

+</li>

+   </ol>

+   <p>For a UNIX build, the following parameter should be added to your runConfigure step: <code>-z -DXALAN_BUILD_DEPRECATED_DOM_BRIDGE</code>.  for example,</p>

+       <code>./runConfigure -p aix -c xlc_r -x xlC_r -z -DXALAN_BUILD_DEPRECATED_DOM_BRIDGE</code>

+<br />

+<br />

+

+   

+   <a name="samples">&#8204;</a>

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Rebuilding a Sample application</h4>

+   <p>In the 32-bit Windows distribution, all of the sample applications can be built from the Xalan.dsw Visual C++ workspace.</p>

+<p>The Makefile that come with the UNIX distributions include targets for rebuilding one or all of the sample applications . To rebuild one or more sample applications, go to the root directory of your source package or the samples directory of your binary package, and run<br />

+<br />

+     <code>gmake <b>

+<i>Target</i>

+</b>

+</code>

+<br />

+<br />

+where <b>

+<i>Target</i>

+</b> is <code>Samples</code> (all the samples), <code>ApacheModuleXSLT</code>, <code>CompileStylesheet</code>, <code>DocumentBuilder</code>, <code>ExternalFunctions</code>, <code>ParsedSourceWrappers</code>, <code>SerializedNodeSet</code>, <code>SimpleTransform</code>,  <code>SimpleXPathAPI</code>, <code>SimpleXPathCAPI</code>, <code>StreamTransform</code>, <code>ThreadSafe</code> (Windows only), <code>TraceListen</code>, <code>TransformToXercesDOM</code>, <code>UseStylesheetParam</code>, <code>XPathWrapper</code>, <code>XalanTransform</code>, or <code>XalanTransformerCallback</code>.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">For information on building Apache Module, see <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a>

+</td>

+</tr>

+</table>

+   

+ <a name="contact">&#8204;</a>

+ <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting in Touch</h3>

+  <p>Your feedback is more than welcome. Offers of help are even more so! Perhaps you would like to contribute to the ongoing development, testing, or documentation of Xalan-C++.</p> 

+<p>Please email your comments, questions, suggestions, bug reports, and offers to help to <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.</p>

+ <a name="history">&#8204;</a>

+ <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Cumulative history of software changes</h3>

+   <p>The following sections list the changes in each release since Xalan-C++ version 0.40.0.</p>

+   

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.11</h4>

+<p>This is a general bug fix release with added stability features.</p>

+<p>Major updates since version 1.10 include:</p>

+<ul>

+  <li>Add support for Xerces-C 3.0 and newer</li>

+  <li>Drop support for Microsoft Studio (VC6)</li>

+  <li>Fix support issues for AIX 5.3</li>

+  <li>Fix support issues for Solaris 2.8</li>

+  <li>Fix support issues for GCC-4.3</li>

+  <li>Add support for Microsoft .NET 2008 (VC9) </li>

+  <li>Add support for Microsoft .NET 2010 (VC10)</li>

+  <li>Add number and nodeset types as top-level stylesheet parameters</li>

+  <li>

+<a href="#bugfix11">Bugs fixed in this release</a>.</li>

+</ul>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.10</h4>

+<p>Major updates since version 1.9 include:</p>

+<ul>

+  <li>Support for XML 1.1 and Namespaces in XML 1.1.</li>

+  <li>Added support for IBM XLC 7.0 compiler on AIX.</li>

+  <li>Improved and stabilized C pluggable memory management functionality.</li> 

+  <li>Various improvements in Xalan XML serializers for better performance and stability.</li>

+  <li>Upgrade from Xerces-C 2.6 to Xerces-C 2.7.</li>

+ </ul>  

+  

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.9</h4>

+<p>Major updates since version 1.8 include:</p>

+<ul>

+  <li>Pluggable Memory Management.  This feature allows applications to maintain precise control over memory allocations.  This 

+      will allow users, with knowledge of their application's characteristics, to provide a more efficient allocation method 

+      than the general purpose procedures provided by the system.  for more information on how to use this feature, please see

+      the <a href="programming.html#memory">Pluggable Memory Management</a> section of the Programming page.</li>

+  <li>Improved stability on the execution of large stylesheets and XML documents.  Because the current implementation relies on 

+      function recursion, certain stylesheets/input documents may cause the program stack to overflow and cause the application 

+      to fail.  It also may inhibit executing stylesheets that are heavily dependent on recursive functions.  This feature will 

+      prevent these types of failure. </li>

+  <li>Provided a global option to pool all text node strings.  This feature allows developers to set a flag to determine if a 

+      parsed source tree will pool the values of all of the text nodes in the XML document.  By doing so, this can result in a 

+      significant reduction in memory usage, particularly if there are a lot of repeated values in text nodes.  Please see 

+      the class descriptions for <a href="apiDocs/classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a>,  

+      <a href="apiDocs/classXalanDefaultParsedSource.html">XalanDefaultParsedSource</a>, and

+      <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> in the <a href="apiDocs/index.html">

+      API Reference</a> section for more information.</li> 

+  <li>Added support for Microsoft Studio .NET V7.1.  Project files for Microsoft Studio .NET V7.1 have been provided under the 

+      directory xml-xalan\c\Projects\Win32\VC7.1.</li>

+  <li>Upgrade from Xerces-C 2.5 to Xerces-C 2.6. </li>

+ </ul>  

+

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.8</h4>

+     <p>Major updates since version 1.7 include:</p>

+     <ul>

+      <li>Upgrade from Xerces-C 2.4 to Xerces-C 2.5. </li>

+      <li>Provide build support for Cygwin and HP-UX 11.00 on Itanium.  Although binary distributions are not provided for the Cygwin environment and 

+          HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms. </li>

+      <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 

+          is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build

+          on this platform.  Please see <a href="build_instruct.html#dotNet">"Step for doing a Windows Build with Visual Studio .NET"</a> 

+          for details.</li>

+      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users 

+          are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these 

+          changes to your build environment, please see <a href="#xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"

+          </a>

+</li>

+      

+      <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>

+      <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes".</li>

+

+     </ul>  

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.7</h4>

+     <p>Major updates since version 1.6 include:</p>

+     <ul>

+      <li>Message Localization Support. This feature enables Xalan-C++ to issue diagnostic messages 

+      in languages other than the default language (English). In order to utilize this feature, 

+      the user must provide a version of the Xalan-C++ message catalog that has been translated in 

+      their language of choice. For more information on how to exploit this feature, please see  

+      <a href="#locale">Steps for doing a Build with Message Localization Support</a>.</li>

+      <li>Build, packaging, and installation improvements. Changes to the Xalan-C++ makefiles now 

+      allow for a more flexible build, packaging, and install process. Each step in a typical 

+      build process can be invoked by specifying the appropriate target, for example to build the 

+      executable, and/or samples, or install the build at user-specified location. For more 

+      information on building Xalan-C++, please see <a href="#unix">Steps for doing a Unix build

+      </a>.</li>

+      <li>Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved 

+      into an exclusive directory within the xalanc/XercesParserLiaison directory called 

+      'Deprecated'. If your application is dependent on these classes to interface with the 

+      deprecated Xerces DOM you must alter your include directive with the 'Deprecated' directory. 

+      For example:<br />

+<br />

+      <code>#include "xalanc/XercesParserLiaison/XercesDocumentBridge.hpp"</code>

+<br />

+<br />

+      should be changed to:<br />

+<br />

+      <code>#include "xalanc/XercesParserLiaison/Deprecated/XercesDocumentBridge.hpp"</code>

+<br />

+<br />

+</li>

+      <li>Upgrade from Xerces-C 2.3 to Xerces-C 2.4. </li>

+      <li>Porting of ThreadSafe example to UNIX platform.</li>

+      <li>Implementation of EXSLT string extension functions encode-uri() and decode-uri(). </li>

+      <li>Implementation of EXSLT dynamic extension function evaluate(). </li>

+      <li>Implementation of EXSLT date-time extension function date-time().</li>

+     </ul>  

+     

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.6</h4>

+     <p>Major updates since version 1.5 include:</p>

+     <ul>

+	<li>Directory "sane include" reorganization.  A new sub-directory called 'xalanc' has been added to the src directory (for source distribution packages) and include directory (for binary distribution packages).  New source files which include Xalan headers will need to be modified to include the 'xalanc' prefix in the header path.  

+            For example: <br />

+<br />

+            <code>#include &lt;XPath/XObject.hpp&gt;</code>

+<br />

+<br />

+            will need to be changed to <br />

+<br />

+            <code>#include &lt;xalanc/XPath/XObject.hpp&gt;</code>

+<br />

+<br />

+            For Windows users, all project files have been modified to reflect this change.  For UNIX users, please see <a href="#unix">Steps for doing a UNIX build</a> for migration considerations.</li>

+     </ul>  

+     

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.5</h4>

+     <p>Major updates since version 1.4 include:</p>

+     <ul>

+	<li>For Windows, Xalan-C++ is now packaged as a single DLL.  The project files to build separate DLLs are now deprecated and will not be maintained.</li>

+	<li>Support for Xerces-C++ DOMNode classes.</li>

+	<li>New sample <b>TransformToXercesDOM</b> that illustrates how to perform a transform resulting in a Xerces-C++ DOMDocument</li>

+	<li>Usage of the Xerces-C++ C++ namespace and creation of Xalan-C++ namespace.</li>

+     </ul>  

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.4</h4>

+     <p>Major updates since version 1.3 include:</p>

+     <ul>

+       <li>The Xalan-C++ distributions no longer include the Xerces-C++ headers and libraries. Accordingly, you must download the appropriate Xerces-C++ distribution (see <a href="getstarted.html#download">Downloading what you need</a>.</li>

+       <li>64-bit build for HP-11; <a href="#64">untested 64-bit support</a> for Solaris and AIX.</li>

+       <li>New Linux platform and compiler: Redhat 7.2 with gcc 3.1.</li>

+       <li>

+<a href="http://www.stlport.org/">STLport</a> is no longer required on any of our supported platforms.</li> 

+       <li>

+<a href="extensionslib.html#exslt">Alpha support for a number of EXSLT functions</a>.</li>       

+       <li>

+<a href="samples.html#parsedsourcewrappers">ParsedSourceWrappers</a>, a sample that

+       illustrates how to perform transformations with input in the form of a pre-built

+       XalanDOM or XalanSourceTree.</li>

+     </ul>  

+     

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.3</h4>

+    <p>Major updates since version 1.2 include:</p>

+     <ul>

+       <li>A new and simplified command-line utility: <a href="commandline.html#xalanexe">the Xalan executable</a>

+</li>

+       <li>New XPath samples exploiting the XPathEvaluator C API and illustrating serialization of an XPath result set: <a href="samples.html#simplexpathcapi">SimpleXPathCAPI</a> and <a href="samples.html#serializenodeset">SerializeNodeSet</a>

+</li>

+       <li>A new <a href="usagepatterns.html#xercesdomwrapperparsedsource">wrapper class</a> that lets you pass in a Xerces DOM as input for a transformation</li>

+       <li>Bug fixes.</li>

+       <li>Changed XPathException to XalanXPathException because of a clash with a new Xerces class of the same name.</li>

+      </ul>

+     

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.2</h4>

+    <p>Major updates since version 1.1 include:</p>

+     <ul>

+      <li>

+<a href="extensionslib.html">Introduction of a library of extension functions</a>

+</li>

+      <li>Support for pre-parsed source documents and pre-compiled stylesheets in 

+      <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> and the C API.</li>

+      <li>Support for stylesheet params in <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> 

+      and the C API</li>

+      <li>Support for extension functions in <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a>

+</li>

+      <li>Performance enhancements</li>

+      </ul>

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.1</h4>

+   <p>In addition to adding to the list of platforms on which Xalan-C++ builds, our focus for this release has been on bug fixes, performance enhancements, 

+      and providing a simplified C++ and C API for performing standard transformations. Major updates since version 1.0 include:</p>

+   <ul>

+     <li>Added HP-UX 11 build.</li>

+     <li>Added Solaris build.</li>

+     <li>Greatly improved performance.</li>

+     <li>Improved conformance to the XSLT specification.</li>

+     <li>Simplified the C++ API and provided a C API for performing standard transformations with the <a href="usagepatterns.html#xalantransformer">XalanTransformer</a> class and associated header files.</li>

+     <li>Added sample illustrating use of XalanTransformer and the new C++ API: 

+         <a href="samples.html#xalantransform">XalanTransform</a>.</li> 

+     <li>Added sample illustrating use of XalanTransformer, the new C API, and how to run Xalan-C++ and perform transformations on an 

+         Apache Web server: <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a>.</li>

+     <li>Added the <a href="samples.html#streamtransform">StreamTransform</a> sample.</li>

+     <li>Eliminated dependencies on non-public Xerces headers; accordingly can now build with the Xerces distribution.</li>

+     <li>Fixed namespace mapping and inheritance problems.</li>

+     <li>Fixed failure of &lt;copy-of ...&gt; to include CRLFs (if any) in the result.</li>

+     <li>Fixed bug sorting in reverse document order based on position. </li>

+     <li>Fixed &lt;xsl:number&gt; bug with use of letter-value="traditional" for "classical" Greek numbering.</li>

+     <li>Fixed use of &lt;xsl:fallback&gt; within a top-level extension function.</li>

+     <li>Fixed HTML output method bug. The &lt;HEAD&gt; element was not including a &lt;META&gt; tag with the encoding.</li>

+     <li>Fixed bug using key() in match patterns to find descendants.</li>

+     <li>Fixed bug using the id() function in complex match patterns.</li>

+     <li>Fixed problem outputting multiple single-character CDATA sections.</li>

+     <li>Fixed problem outputting whitespace characters.</li>

+     <li>Fixed problem transforming from a stream on UNIX platforms.</li>

+     <li>Fixed a bug with the document() function, which was generating a syntax error if called in the following manner: document(<b>

+<i>string</i>

+</b>,/).</li>

+     <li>Fixed named templates bug accepting global parameter when called with a parameter of the same name that the named template does not 

+         recognize.</li>

+   </ul> 

+   

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.0</h4>

+   <p>Major updates since version 0.40.0 include:</p>

+   <ul>

+     <li>Full support for namespace handling</li>

+     <li>Full implementation of the format-number() function and support for the decimal-format element</li>

+     <li>Integration with the <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a> for number formatting, sorting, and output encoding</li>

+     <li>Support for the exclude-result-prefixes attribute</li>

+     <li>Support for the output encoding attribute</li>

+   </ul>

+   

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 0.40.0</h4>

+   <p>Major updates since version 0.30.0 include:</p>

+   <ul>

+     <li>Permitting OS file names (as well as URLs) as command-line arguments with TestXSLT</li>

+     <li>Stricter compliance for HTML and XML output</li>

+     <li>Improved handling of relative URI's</li>

+     <li>Improved handling of Import and Include</li>

+     <li>Better namespace handling (although there are still problems here)</li>

+     <li>Support for Document() function</li>

+     <li>Support for XPath predicates</li>

+     <li>ProblemListener with a different output stream and call 

+         XalanTransformer::setProblemListener() before calling XalanTransformer::transform().</li>

+   </ul>

+   

+

+  

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/resources.html b/docs/xalan/xalan-c/resources.html
new file mode 100644
index 0000000..d1face4
--- /dev/null
+++ b/docs/xalan/xalan-c/resources.html
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Resources</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Resources</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>Resources<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h4 class="resourcetitle">

+<strong>Xalan-C++ Version 1.11</strong>

+</h4>

+<p>id = [xslt4c-current]<br />

+<a href="http://xml.apache.org/xalan-c">http://xml.apache.org/xalan-c</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xerces-C++ version 3.1.1</strong>

+</h4>

+<p>id = [xml4c-used]<br />

+<a href="http://xml.apache.org/xerces-c/index.html">http://xml.apache.org/xerces-c/index.html</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C downloads</strong>

+</h4>

+<p>id = [xslt4c-distdir]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c">http://www.apache.org/dyn/closer.cgi/xml/xalan-c</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xerces-C downloads</strong>

+</h4>

+<p>id = [xml4c-distdir]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xerces/c">http://www.apache.org/dyn/closer.cgi/xerces/c</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C_1_11_0-win32.zip</strong>

+</h4>

+<p>id = [xslt4c-win32-download]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-win32.zip">http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-win32.zip</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C_1_11_0-linux.tar.gz</strong>

+</h4>

+<p>id = [xslt4c-linux-download]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-linux.tar.gz">http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-linux.tar.gz</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C_1_11_0-aix.tar.gz</strong>

+</h4>

+<p>id = [xslt4c-aix-download]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-aix.tar.gz">http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-aix.tar.gz</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C_1_11_0-hp-ux.tar.gz</strong>

+</h4>

+<p>id = [xslt4c-hp-ux-download]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-hp-ux.tar.gz">http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-hp-ux.tar.gz</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C_1_11_0-solaris.tar.gz</strong>

+</h4>

+<p>id = [xslt4c-Solaris-download]<br />

+<a href="http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-solaris.tar.gz">http://www.apache.org/dyn/closer.cgi/xml/xalan-c/binaries/Xalan-C_1_11_0-solaris.tar.gz</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>International Components for Unicode (ICU)</strong>

+</h4>

+<p>id = [icu]<br />

+<a href="http://oss.software.ibm.com/icu/index.html">http://oss.software.ibm.com/icu/index.html</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>International Components for Unicode(ICU) 3.2 source files</strong>

+</h4>

+<p>id = [icu-download]<br />

+<a href="http://oss.software.ibm.com/icu/download/index.html">http://oss.software.ibm.com/icu/download/index.html</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Building ICU for Xerces-C++</strong>

+</h4>

+<p>id = [xerces-build-icu]<br />

+<a href="http://xml.apache.org/xerces-c/build.html#BuildICU">http://xml.apache.org/xerces-c/build.html#BuildICU</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>STLport</strong>

+</h4>

+<p>id = [stlport]<br />

+<a href="http://www.stlport.org/">http://www.stlport.org/</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>The Apache Software License, Version 2.0</strong>

+</h4>

+<p>id = [ApacheLicense]<br />

+<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan Repository Release Notes</strong>

+</h4>

+<p>id = [Readme]<br />

+<a href="http://www.apache.org/websrc/cvsweb.cgi/xml-xalan/README">http://www.apache.org/websrc/cvsweb.cgi/xml-xalan/README</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Extensible Stylesheet Language (XSL) Version 1.0 W3C Recommendation</strong>

+</h4>

+<p>id = [XSL]<br />

+<a href="http://www.w3.org/TR/xsl">http://www.w3.org/TR/xsl</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0</strong>

+</h4>

+<p>id = [XSLT]<br />

+<a href="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>XML Path Language (XPath) Version 1.0</strong>

+</h4>

+<p>id = [XPath]<br />

+<a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>DOM</strong>

+</h4>

+<p>id = [DOM]<br />

+<a href="http://www.w3.org/DOM">http://www.w3.org/DOM</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>XSL Frequently Asked Questions</strong>

+</h4>

+<p>id = [dpawsonxslfaq]<br />

+<a href="http://www.dpawson.co.uk/xsl/xslfaq.html">http://www.dpawson.co.uk/xsl/xslfaq.html</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Pluggable Memory Manager</strong>

+</h4>

+<p>id = [xercesmm]<br />

+<a href="http://xml.apache.org/xerces-c/program-others.html#PluggableMemoryManager">http://xml.apache.org/xerces-c/program-others.html#PluggableMemoryManager</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan Development Mailing List</strong>

+</h4>

+<p>id = [xalandev]<br />

+<a href="mailto:xalan-dev@xml.apache.org">mailto:xalan-dev@xml.apache.org</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Xalan-C/C++ Users Mailing List</strong>

+</h4>

+<p>id = [xalancusers]<br />

+<a href="mailto:xalan-c-users@xml.apache.org">mailto:xalan-c-users@xml.apache.org</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>Bugzilla (the Apache bug database)</strong>

+</h4>

+<p>id = [bugzilla]<br />

+<a href="http://nagoya.apache.org/bugzilla">http://nagoya.apache.org/bugzilla</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>JIRA (the Apache bug database)</strong>

+</h4>

+<p>id = [jira]<br />

+<a href="https://issues.apache.org/jira/browse/XALANC">https://issues.apache.org/jira/browse/XALANC</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>XalanC open bugs</strong>

+</h4>

+<p>id = [buglist]<br />

+<a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;jqlQuery=project+%3D+XALANC+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC">https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;jqlQuery=project+%3D+XALANC+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC</a>

+<br />

+</p>

+<h4 class="resourcetitle">

+<strong>XalanC bugs fixed for this release</strong>

+</h4>

+<p>id = [bugsfixedforthisrelease]<br />

+<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10582&amp;version=10833">https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10582&amp;version=10833</a>

+<br />

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/resources/Xalan-Logo-tm.png b/docs/xalan/xalan-c/resources/Xalan-Logo-tm.png
new file mode 100644
index 0000000..9a08808
--- /dev/null
+++ b/docs/xalan/xalan-c/resources/Xalan-Logo-tm.png
Binary files differ
diff --git a/docs/xalan/xalan-c/resources/Xalan-Trademark.txt b/docs/xalan/xalan-c/resources/Xalan-Trademark.txt
new file mode 100644
index 0000000..5f5c264
--- /dev/null
+++ b/docs/xalan/xalan-c/resources/Xalan-Trademark.txt
@@ -0,0 +1,106 @@
+

+The XALAN Logo - Trademark Description

+--------------------------------------

+

+Prepared By:  

+

+	Steven J. Hathaway

+

+	(shathaway@apache.org)

+

+	September 3, 2011

+

+
+

+Prepared for:

+

+	The Apache Software Foundation

+

+--------------------------------------

+

+Graphic: A stylized version of the African Xalam instrument.

+

+Note: the difference in spelling.

+

+	Xalam is the African Musical Instrument

+	Xalan is the Apache Xalan Software Project

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark symbol)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation (trademark name)

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/docs/xalan/xalan-c/resources/XalanC-Logo-tm.png b/docs/xalan/xalan-c/resources/XalanC-Logo-tm.png
new file mode 100644
index 0000000..8de82fd
--- /dev/null
+++ b/docs/xalan/xalan-c/resources/XalanC-Logo-tm.png
Binary files differ
diff --git a/docs/xalan/xalan-c/resources/apache-xalan.css b/docs/xalan/xalan-c/resources/apache-xalan.css
new file mode 100644
index 0000000..fc2fa1a
--- /dev/null
+++ b/docs/xalan/xalan-c/resources/apache-xalan.css
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */

+

+/*

+ * 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.

+*/

+

+/* This (css) stylesheet renders the xhtml web pages that were generated

+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.

+*/

+

+html > bod  {left:0;}

+body {

+/*  background-color: white; */

+  background-color: #f8f8f0;

+  color: black;

+  padding: 0;

+  margin: 0;

+  font-family: arial, "lucida console", san-serif;

+}

+

+/* Emulate table align=center */

+div.centered, td.centered {

+  text-align: center;

+}

+

+div.centered table {

+  margin: 0 auto;

+  text-align: left;

+}

+

+/*

+ * ID Sections

+ */

+

+#content {

+  width: 80%;

+  float: left;

+  font-size: 12pt;

+  padding-top: 1em;

+  padding-left: 5px;

+  margin-left: 10px;

+  border-left: 1px solid #aaa;

+}

+

+#navLeft {

+  clear: left;

+  width: 15%;

+  float: left;

+  padding: 2px;

+  margin-left: 1%;

+  color: red;

+  position: relative;

+  left: 1px;

+  background-color: #eee;

+}

+

+.navGroup {

+  color: Black;

+  font-size: 14pt;

+}

+

+

+#title {

+  color: black;

+  background-color: #eee;

+  text-align: center;

+  border-bottom: 1px solid #aaa;

+  padding: 0;

+  vertical-align: middle;

+}

+

+table.HdrTitle {

+  font-size: 18pt;

+}

+

+table.HdrButtons {

+  font-size: 8pt;

+  background-color: #ccf;

+  align: "center";

+  border: "1";

+

+}

+

+#footer {

+    clear: both;

+    margin: 0 2em;

+    color: #444;

+    background-color: #ddd;

+    text-align: center;

+    padding: .5em 0;

+    font-size: 75%;

+    border-top: 1px solid #aaa;

+}

+

+/*

+ * Anchors

+ */

+

+a {

+  color: blue;

+  text-decoration: undedrline;

+}

+

+a img {

+  border: 0;

+}

+

+a:hover {

+  text-decoration: none;

+  background-color: #d7c9c9;

+}

+

+/*

+ * Headers

+ */

+

+h1 {}

+

+#title h1 {

+  padding: 1px 0;

+  margin: 0;

+  float: right;

+  width: 60%;

+  font-size: 20pt;

+  text-align: center;

+}

+

+#content h1 { background-color: #8af }

+

+h2 {}

+

+#title h2 {

+  font-size: 14pt;

+  width: 60%;

+  text-alignment: center;

+  padding: 1px 0;

+  margin: 0;

+}

+

+#content h2 { background-color: #9bf }

+

+#content h2.year {

+  background-color: #ddd;

+  text-align: center;

+}

+

+h3 {}

+

+#content h3.monthName {

+  background-color: #333;

+  text-align: center;

+}

+

+#content h3 { background-color: #acf }

+

+h4{}

+

+#content h4.eventTitle {

+  margin-left: 1%;

+  border-bottom: 1px solid blue;

+}

+

+#content h4 { background-color: #cdf }

+

+/*

+ * Tables

+ */

+

+th {}

+

+td {}

+

+th.content {background-color: #4BD }

+td.content {background-color: #AEF }

+

+/*

+ * Lists and navLeft

+ */

+

+ul {}

+

+#navLeft ul {

+  list-style-type: none;

+  margin: 0;

+  padding: 0;

+}

+

+#navLeft ul li {

+  margin: 0;

+}

+

+#navLeft ul li p {

+  margin: 0;

+}

+

+#navLeft ul li ul {

+  list-style-type: none;

+  font-size: 90%;

+  margin: 0 2em;

+}

+

+#navLeft ul li ul li {

+  margin: 0;

+}

+

+/*

+ * Paragraphs

+ */

+

+p {}

+

+#navLeft p {

+  text-align: center;

+  padding: 0 auto;

+  margin: 0;

+}

+

+#footer p {

+  padding: 0;

+}

+

+#content p.topalign {

+  vertical-align: middle;

+  height: 2em;

+  text-align: center;

+  width: 100%;

+  padding: .5em;

+  border: 1px solid #ddd;

+}

+

+#content p.topalign img {

+  vertical-align: middle;

+  text-align: text-middle;

+}

+

+#content p.quote {

+  color:black;

+  font-style: italic;

+  font-size: 110%;

+  margin-left: 10%;

+  margin-right: 10%;

+  padding 1em;

+  border: 1px solid #ddd;

+  text-align: center;

+}

+

+#content p.navbar {

+  font-size: 90%;

+  text-align: center;

+  border-top: 1px solid #ddd;

+  border-bottom: 1px solid #ddd;

+}

+

+blockquote {}

+

+blockquote.note {

+  font-size: 80%;

+  border: 1px solid #ddd;

+  background-color: #eee;

+}

+

+td.noteImg {

+  background-color: white;

+  border: 0;

+}

+

+td.noteTxt {

+  background-color: white;

+  font-size: 120%;

+  border: 2px solid #ddd;

+  background-color: #eee;

+}

+

+/**

+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD

+ ** <caution>..</caution> and <warning>..</warning>

+ **

+ * 

+ * td.cautionImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.cautionTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+ * 

+ * td.warningImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.warningTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+**/

+

+

+blockquote.source {

+  font-size: 75%;

+}

+

+code {

+  font-size: 75%;

+}

+

+

+/*

+ * Special Table (note)

+ */

+

+#notediv div { background-color: white }

+

+table.note {

+  width: 90%;

+}

+

+td.noteImg {

+  background-color: white;

+  vertical-align: top;

+  border: 0;

+  width: 24;

+}

+

+td.noteTxt {

+  color: black;

+  background-color: #eee;

+  font-size: 90%;

+  border: 2px solid;

+  border-color: #ccc;

+}

+

+

+/*

+ * Images

+ */

+

+img {}

+

+

+#footer img {

+  border: 0;

+}

+

+

+/*

+ * Document Divisions

+ */

+

+div {}

+

+/*

+ * Pre

+ */

+

+pre {}

+

+

+/*

+ * Generic Classes

+ */

+

+.indented {

+  margin-left: 3%;

+}

+

+.topBanner {

+  float: right;

+  margin: 0;

+  border: 0;

+  vertical-align: middle;

+}

+

+.noborder {

+  border: 0;

+  margin: 0;

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

diff --git a/docs/xalan/xalan-c/resources/asf_logo.png b/docs/xalan/xalan-c/resources/asf_logo.png
new file mode 100644
index 0000000..66c34f0
--- /dev/null
+++ b/docs/xalan/xalan-c/resources/asf_logo.png
Binary files differ
diff --git a/docs/xalan/xalan-c/resources/note.gif b/docs/xalan/xalan-c/resources/note.gif
new file mode 100644
index 0000000..3394222
--- /dev/null
+++ b/docs/xalan/xalan-c/resources/note.gif
Binary files differ
diff --git a/docs/xalan/xalan-c/samples.html b/docs/xalan/xalan-c/samples.html
new file mode 100644
index 0000000..3ee5299
--- /dev/null
+++ b/docs/xalan/xalan-c/samples.html
@@ -0,0 +1,885 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Samples</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Samples</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>Sample Apps<br />

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Samples</h2>

+<ul>

+  <li>

+<a href="#getstarted">Samples to help you get started</a>

+</li>

+  <li>

+<a href="#rebuilding">Rebuilding a Sample application</a>

+</li>

+  <li>

+<a href="#apachemodulexslt">ApacheModuleXSLT</a>

+</li>

+  <li>

+<a href="#compilestylesheet">CompileStylesheet</a>

+</li>

+  <li>

+<a href="#documentbuilder">DocumentBuilder</a>

+</li>

+  <li>

+<a href="#externalfunctions">ExternalFunctions</a>

+</li>

+  <li>

+<a href="#parsedsourcewrappers">ParsedSourceWrappers</a>

+</li>

+  <li>

+<a href="#serializenodeset">SerializeNodeSet</a>

+</li>    

+  <li>

+<a href="#simpletransform">SimpleTransform</a>

+</li>

+  <li>

+<a href="#simplexpathapi">SimpleXPathAPI</a>

+</li>

+  <li>

+<a href="#simplexpathcapi">SimpleXPathCAPI</a>

+</li>

+  <li>

+<a href="#streamtransform">StreamTransform</a>

+</li>    

+  <li>

+<a href="#threadsafe">ThreadSafe</a>

+</li>  

+  <li>

+<a href="#tracelisten">TraceListen</a>

+</li>        

+  <li>

+<a href="#transformtoxercesdom">TransformToXercesDOM</a>

+</li>

+  <li>

+<a href="#usememorymanager">UseMemoryManager</a>

+</li>

+  <li>

+<a href="#usestylesheetparam">UseStylesheetParam</a>

+</li>

+  <li>

+<a href="#xalantransform">XalanTransform</a>

+</li>

+  <li>

+<a href="#xalantransformercallback">XalanTransformerCallback</a>

+</li>

+</ul>

+

+<a name="getstarted">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Samples to help you get started</h3>

+<p>Each of the subdirectories in the Xalan-C++ samples directory contains the source files for a

+   sample application. The executables for the samples are in the build subdirectory, which should be on the system

+   path.</p>

+<p>With most of the samples, you can use the following procedure:</p>

+<ol>

+  <li>Go to the samples subdirectory containing the sample (use the DOS shell if you are running Windows)<br />

+<br />

+</li>

+  <li>Run the sample from the command line (as indicated below)<br />

+<br />

+</li>

+  <li>Examine the application source files. You may also want to modify the source files. Remember that if you

+      modify a .cpp file, you must rebuild the executable and place it on the path before you can run the

+      modified application.</li>

+</ol>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Each sample application looks for input files in the current directory, the directory from

+      which you run the application. The input files are in the samples subdirectory along with the sample source

+      files. For the UNIX builds, application executables are in the bin subdirectory. For the Windows32 build, the

+      application executable is in the bin subdirectory (Xalan-C_1_11_0-&lt;my_Windows_distribution&gt;\bin). To run a 

+      sample, be sure the executable is on the path, and run it from the samples subdirectory that contains the input 

+      files.</td>

+</tr>

+</table>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The most of the samples are implemented without providing a pluggable memory manager. The <a href="#simpletransform">SimpleTransform</a> sample illustrates, 

+      in addition to a simple transformation, the usage of the processor with memory manager</td>

+</tr>

+</table>

+

+

+

+<a name="rebuilding">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Rebuilding a Sample application</h3>

+<p>Instructions for rebuilding the samples differ depending on whether you are using the binary package or the source 

+package. </p>

+<p>For Windows users, the Xalan Visual C++ workspace contains project configurations for building 

+   each of the samples.  Users who have downloaded the source package, can find the XalanICU.dsw workspace

+   file under:<br />

+<br />     <code>Xalan-C_1_11_0-src\src\xalanc\Projects\Win32\VC6</code>

+   <br />

+<br />  and XalanICU.sln solution file under:<br />

+<br />

+        <code>Xalan-C_1_11_0-src\src\xalanc\Projects\Win32\VC7.1</code>

+

+   <br />

+<br />  Users who have downloaded the binary package, should use the Samples.dsw workspace file 

+   located under: <br />

+<br />     

+   <code>Xalan-C_1_11_0-&lt;my_Win32_distribution&gt;\Samples\Projects\Win32\VC6</code>

+<br />

+<br />

+   or the Samples.sln solution file for .NET V7.1 users, located under: <br />

+<br />     

+   <code>Xalan-C_1_11_0-&lt;my_Win32_distribution&gt;\Samples\Projects\Win32\VC7.1</code>

+<br />

+<br />

+</p>

+<p>The Makefile that comes with the UNIX distributions include targets for rebuilding one or all of 

+   the sample applications.  To rebuild one or more sample applications from the UNIX source package, 

+   go to the Xalan-C_1_11_0-src directory and run<br />

+<br />

+        <code>gmake <b>

+<i>Target</i>

+</b>

+</code>

+<br />

+<br />

+   where <b>

+<i>Target</i>

+</b> is <code>Samples</code> (all the samples), <code>ApacheModuleXSLT</code>, 

+   <code>CompileStylesheet</code>, <code>DocumentBuilder</code>, <code>ExternalFunctions</code>, 

+   <code>ParsedSourceWrappers</code>, <code>SerializedNodeSet</code>, <code>SimpleTransform</code>,  

+   <code>SimpleXPathAPI</code>, <code>SimpleXPathCAPI</code>, <code>StreamTransform</code>, 

+   <code>ThreadSafe</code>, <code>TraceListen</code>, <code>TransformToXercesDOM</code>, 

+   <code>UseStylesheetParam</code>, <code>XalanTransform</code>, or 

+   <code>XalanTransformerCallback</code>.</p>

+<p>To rebuild the samples from the UNIX binary package, go to the ../samples directory of your installation,

+   run the runConfigure utility for your target platform, and then run gmake.  For example, AIX users would 

+   issue the following command:<br />

+<br />

+        <code>./runConfigure -p aix -c xlc_r -x xlC_r</code>

+<br />

+        <code>cd samples</code>

+<br />

+<br />

+        <code>gmake <b>

+<i>Target</i>

+</b>

+</code>

+<br />

+<br />

+   where <b>

+<i>Target</i>

+</b> can be Samples (for building all samples), or the individual sample name as 

+   listed above.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">For information on building Apache Module, see <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a>

+</td>

+</tr>

+</table>

+

+

+<a name="apachemodulexslt">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>ApacheModuleXSLT</h3>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">This sample must be built with the Apache Web server, and the Xalan-C++ distribution files do not include a binary

+      for ApacheModuleXSLT. Assuming you have installed the Apache server on your platform, you can use Visual C++ on Windows to

+      build ApacheModuleXSLT.dll, or the Makefile on UNIX to build xslt_module (with the appropriate library suffix).</td>

+</tr>

+</table>

+    

+<p>What it does: runs as an Apache module on an Apache Web server; performs transformations and returns the output to a Web

+   browser. You configure Apache to respond to a given URL request for an output file (html or txt file in the configuration below)

+   by applying an xsl stylesheet file to an xml document file (both with the specified name in a given location) and returning

+   the transformation output to the client.</p> 

+<p>This sample also illustrates use of the XalanTransformer class and the C API defined in src/XalanTransformer/XalanCAPI.h. It returns 

+   transformation output in blocks to a callback function, which enables the browser to start displaying the result before the transformation

+   has been completed.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You may need to adjust the Visual C++ or Makefile settings to locate the required Apache header files. As shipped, the Visual C++ 

+      project file looks in \Apache Group\Apache\src\include, and the UNIX Makefile looks in usr/lib.</td>

+</tr>

+</table>

+<p>To build the Apache module, follow the instructions in <a href="buildlibs.html#winbldenv">Steps for doing a Windows 

+   build</a> or <a href="buildlibs.html#unixbldenv">Steps for doing a UNIX build</a>. For UNIX platforms, you do the build with<br /> 

+   <code>gmake ApacheModuleXSLT</code>.</p>

+  

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Setting up and using ApacheModuleXSLT</h4>

+<p>To use ApacheModuleXSLT, do the following:</p>

+<ol>

+  <li>(UNIX only) Be sure the Xalan and Xerces libraries are on your library path (you can accomplish this by copying them to

+      /usr/lib; see <a href="getstarted.html#path">Setting up the path/library path</a>), and copy the Apache module to 

+      /usr/lib/apache.<br />

+<br />

+</li>

+  <li>Add LoadModule and (UNIX only) AddModule entries to the Apache configuration file: httpd.conf.<br />

+<br />

+      Windows: <code>LoadModule xslt_module Xalan-C_1_11_0-&lt;my_Windows_distribution&gt;\bin\ApacheModuleXSLT.dll</code>

+<br />

+<br />

+      UNIX: <code>AddModule mod_xslt.c</code>

+<br />

+              and<br />

+              <code>LoadModule xslt_module /usr/lib/apache/mod_xslt.<b>

+<i>xx</i>

+</b>

+</code>

+<br />

+<br />

+      where <b>

+<i>xx</i>

+</b> is the appropriate library suffix for the UNIX platform ("so" or "a").<br />

+<br />

+</li>

+  <li>Add a &lt;Location&gt; entry to httpd.conf that indicates where xml/xsl file pairs are to be found, and what target file extensions

+      to recognize. We suggest the following:<br />

+<br />

+      <code>&lt;Location /xslt&gt;</code>

+<br />

+        <code>AddHandler mod_xslt .html</code>

+<br />

+        <code>AddHandler mod_xslt .txt</code>

+<br />

+      <code>&lt;/Location&gt;</code>

+<br />

+<br />

+      This &lt;Location&gt; element instructs the module to respond to requests for <b>

+<i>xxx</i>

+</b>.html and <b>

+<i>xxx</i>

+</b>.txt files in the 

+      in the xslt subdirectory (under the document root; see next item) by applying the <b>

+<i>xxx</i>

+</b>.xsl stylesheet to <b>

+<i>xxx</i>

+</b>.xml 

+      (both in that directory) and returning the transformation result to the browser.<br />

+<br />

+      For example, a request for foo.html instructs the module to apply foo.xsl to foo.xml and return the result.<br />

+<br />

+      Note: It is up to the stylesheet to apply the appropriate xsl:output method to the output. Whether the user specifies html or txt is, of

+      itself, immaterial.<br />

+<br />

+</li>

+  <li>Put xml/xsl file pairs in the &lt;Location&gt; subdirectory (xslt in the example)) under the document root directory specified in 

+      httpd.conf by the DocumentRoot and &lt;Directory&gt; settings. Alternatively, you can modify these settings to point to 

+      Xalan-C_1_11_0-&lt;my_UNIX_distribution&gt;/samples/ApacheModuleXSLT, which includes an xslt subdirectory with xml/xsl file pairs 

+      (foo.xml/xsl, apachemod.xml/xsl).<br />

+<br />

+</li>

+  <li>Start the Apache server.<br />

+<br />

+</li>

+  <li>From a Web browser, call the module with a URL as follows:<br />

+      <code>http://<b>

+<i>serverName</i>

+</b>/xslt/<b>

+<i>xxx</i>

+</b>.html</code>

+<br />

+      where <b>

+<i>serverName</i>

+</b> is the Apache server (such as www.myServer.com) and <b>

+<i>xxx</i>

+</b> is the name of an xml/xsl pair of files 

+      (such as foo.xml and foo.xsl) in the xslt subdirectory under the DocumentRoot directory.<br />

+<br />

+      For example,<br />

+      <code>http://www.myServer.com/xslt/apachemod.html</code>

+<br />

+      instructs ApacheModuleXSLT to apply the apachemod.xsl stylesheet to the apachemod.xml XML document (both files in the xslt directory 

+      under the Apache DocumentRoot directory) and return the transformation result to the browser.</li>

+</ol>

+

+

+  

+<a name="compilestylesheet">&#8204;</a>    

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>CompileStylesheet</h3>

+<p>What it does: Use a compiled stylesheet to perform a series of transformations.</p>

+<p>You can run it from the CompileStylesheet subdirectory with</p>

+<p>

+<code>CompileStylesheet</code>

+</p>

+<p>See also: <a href="usagepatterns.html#compiled">Compiling stylesheets</a>.</p>

+

+

+<a name="documentbuilder">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>DocumentBuilder</h3>

+<p>What it does: Use a DocumentBuilder to programmatically construct an XML document, apply the foo.xsl stylesheet to

+   this document, and write the ouput to foo.out.</p>

+<p>You can run it from the DocumentBuilder subdirectory with</p>

+<p>

+<code>DocumentBuilder</code>

+</p>

+

+

+<a name="externalfunctions">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>ExternalFunctions</h3>

+<p>What it does: implement, install, and illustrate the usage of three extension functions. The functions return a

+   square root, a cube, and a string with the current date and time. The sample stylesheet (foo.xsl) gets the area

+   of a cube and units of measurement from an XML document (foo.xml), computes the length of each side

+   of a cube and the volume of the cube, and enters the date and time of the transformation. The output appears in

+   foo.out.</p>

+<p>Run this sample from the ExternalFunctions subdirectory with</p> 

+<p>

+<code>ExternalFunctions</code>

+</p>

+<p>See also: <a href="extensions.html">Extension Functions</a>.</p>

+  

+  

+<a name="parsedsourcewrappers">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>ParsedSourceWrappers</h3>

+<p>What it does: performs a transformation with input in the form of a pre-built XercesDOM or XalanSourceTree.</p>

+<p>Run this sample from the ParsedSourceWrappers subdirectory with</p>

+<p>

+<code>ParsedSourceWrappers</code>

+</p>

+<p>See transformXercesDOM() and transformXalanSourceTree() as called by transform() in ParsedSourceWrappers.cpp.</p>

+

+

+<a name="serializenodeset">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>SerializeNodeSet</h3>

+<p>What it does: Serialize the node set returned by the application of an XPath expression to an XML document.</p>

+<p>Run this sample from the SerializeNodeSet subdirectory with</p>

+<p>

+<code>SerializeNodeSet <b>

+<i>XMLFile</i>

+</b> <b>

+<i>ContextNode</i>

+</b> <b>

+<i>XPathExpression</i>

+</b>

+</code>

+</p>

+<p>where <b>

+<i>XMLFile</i>

+</b> is an XML source file, <b>

+<i>ContextNode</i>

+</b> is the location path to the context

+   node, and <b>

+<i>XPathExpression</i>

+</b> is an XPath expression to apply to that context node. The SerializeNodeSet 

+   directory contains the same foo.xml sample source file as the preceding examples.</p>

+    

+

+<a name="simpletransform">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>SimpleTransform</h3>

+<p>What it does: The SimpleTransform class uses the foo.xsl stylesheet to transform foo.xml, and writes the

+   output to foo.out.  The source for this sample has been modified to demonstrate the usage of the new pluggable

+   memory management feature.</p>

+<p>You can run it from the SimpleTransform subdirectory with</p>

+<p>

+<code>SimpleTransform</code>

+</p>

+<p>See also: <a href="usagepatterns.html#xalantransformer">Basic procedures for performing XSL

+   transformations</a>.</p>

+

+  

+<a name="simplexpathapi">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>SimpleXPathAPI</h3>

+<p>What it does: Use the XPathEvaluator interface to evaluate an XPath expression from the specified context node of 

+   an XML file and display the nodeset returned by the expression.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You can use this sample as an aid when you want to find out what a given XPath expression returns from a

+      given context node in an XML file.</td>

+</tr>

+</table>

+<p>Run this sample from the SimpleXPathAPI subdirectory with</p>

+<p>

+<code>SimpleXPathAPI <b>

+<i>XMLFile</i>

+</b> <b>

+<i>ContextNode</i>

+</b> <b>

+<i>XPathExpression</i>

+</b>

+</code>

+</p>

+<p>where <b>

+<i>XMLFile</i>

+</b> is an XML source file, <b>

+<i>ContextNode</i>

+</b> is the location path to the context

+   node, and <b>

+<i>XPathExpression</i>

+</b> is an XPath expression to apply to that context node.</p> 

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Keep in mind that the string value returned by an XPath expression is the string value of the first node in the 

+      nodeset returned by the expresssion.</td>

+</tr>

+</table>

+<p>The XPathWrapper subdirectory contains an XML file named xml.foo (part of it appears below).</p>

+<blockquote class="source">

+<pre>

+&lt;?xml version="1.0"?&gt;

+&lt;doc&gt;

+  &lt;name first="David" last="Marston"&gt;Mr. Marson&lt;/name&gt;

+  &lt;name first="David" last="Bertoni"&gt;Mr. Bertoni&lt;/name&gt;

+  ...

+  &lt;name first="Paul" last="Dick"&gt;Mr. Dick&lt;/name&gt;

+&lt;/doc&gt;

+</pre>

+</blockquote>

+<p>You can try command lines like</p>

+<p>

+<code>SimpleXPathAPI foo.xml /doc name/@last</code>

+</p>

+<p>and</p>

+<p>

+<code>SimpleXPathAPI foo.xml / '//name[position()="4"]/@first'</code>

+</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">If a SimpleXPathAPI argument includes characters (such as *) that the shell interprets incorrectly, enclose the argument 

+      in double quotes.</td>

+</tr>

+</table>

+<p>See also: <a href="usagepatterns.html#xpath">Working with XPath expressions</a>.</p>

+

+

+<a name="simplexpathcapi">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>SimpleXPathCAPI</h3>

+<p>What it does: Use the XPathEvaluator C interface to evaluate an XPath epxeression and display the string value returned 

+   by the epxression.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Keep in mind that the string value returned by an XPath expression is the string value of the first node in the nodeset 

+      returned by the epxresssion.</td>

+</tr>

+</table>

+<p>Run this sample from the SimpleXPathCAPI subdirectory with</p>

+<p>

+<code>SimpleXPathCAPI <b>

+<i>XMLFile</i>

+</b> <b>

+<i>XPathExpression</i>

+</b>

+</code>

+</p>

+<p>where <b>

+<i>XMLFile</i>

+</b> is an XML source file, and <b>

+<i>XPathExpression</i>

+</b> is an XPath expression to apply to the XML 

+   source file. The SimpleXPathCAPI subdirectory contains an XML file named xml.foo identical to foo.xml in the preceding 

+   example.</p>

+<p>You can try command lines like</p>

+<p>

+<code>SimpleXPathCAPI foo.xml /doc/name[3]</code>

+</p>

+

+  

+<a name="streamtransform">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>StreamTransform</h3>

+<p>What it does: The StreamTransform class processes character input streams containing a stylesheet and an XML document, and

+   writes the transformation output to a character output stream. This sample illustrates the process for working with stylesheets 

+   and documents that you assemble in memory.</p>

+<p>You can run it from the SimpleTransform subdirectory with</p>

+<p>

+<code>StreamTransform</code>

+</p>

+

+  

+<a name="threadsafe">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>ThreadSafe</h3>

+<p>What it does: Multiple threads use a single compiled stylesheet (StylesheetRoot) and DOM source tree (XalanNode) to perform

+   transformations concurrently. The application tracks the progress of the threads in messages to the console, and each thread

+   writes its own output file. Imagine a server application responding to multiple clients who happen to request the same

+   transformation.</p>

+<p>You can run it from the ThreadSafe subdirectory with</p>

+<p>

+<code>ThreadSafe</code>

+</p>

+<p>See also: <a href="usagepatterns.html#compiled">Compiling stylesheets</a>.</p>  

+

+

+<a name="tracelisten">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>TraceListen</h3>

+<p>What it does: Trace events during a transformation; the transformation uses birds.xsl to transform birds.xml and writes the

+   output to birds.out.</p>

+<p>You can run it from the TraceListen subdirectory with</p>

+<p>

+<code>TraceListen <b>

+<i>traceFlags</i>

+</b>

+</code>

+</p>

+<p>where <b>

+<i>traceFlags</i>

+</b> is one or more of the following:</p>

+<p>  <code>-tt</code> (Trace the templates as they are being called)</p>

+<p>  <code>-tg</code> (Trace each result tree generation event)</p>

+<p>  <code>-ts</code> (Trace each selection event)</p>

+<p>  <code>-ttc</code> (Trace the template children as they are being processed)</p>

+<p>These flags are also available in the <a href="commandline.html">command-line utility (TestXSLT)</a>.</p>

+<p>The core of this example is the following fragment:</p>

+<blockquote class="source">

+<pre>

+// Set up a diagnostic writer to be used by the TraceListener...

+XalanStdOutputStream  theStdErr(cerr);

+XalanOutputStreamPrintWriter  diagnosticsWriter(theStdErr);

+// Make sure that error reporting, which includes any TraceListener 

+// output does not throw exceptions when transcoding, since that could 

+// result in an exception being thrown while another exception is active.

+// In particular, characters that the TraceListener writes might not be 

+// representable in the local code page.

+theStdErr.setThrowTranscodeException(false);

+

+// Set up the TraceListener...

+// traceTemplates, traceTemplateChildren, traceGenerationEvent,

+// and TraceSelectionEvent are booleans set by the command line.

+TraceListenerDefault theTraceListener(

+        diagnosticsWriter,

+        traceTemplates,

+        traceTemplateChildren,

+        traceGenerationEvent,

+        traceSelectionEvent);

+

+// Add the TraceListener to the XSLT processor...

+theProcessor.setTraceSelects(traceSelectionEvent);

+theProcessor.addTraceListener(&amp;theTraceListener);

+

+// Perform the transformation

+....

+</pre>

+</blockquote>

+  

+    

+<a name="transformtoxercesdom">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>TransformToXercesDOM</h3>

+<p>What it does: Performs a simple transformation but puts the result in a Xerces DOMDocument</p>

+<p>Run this sample from the TransformToXercesDOM subdirectory with</p>

+<p>

+<code>TransformToXercesDOM <b>

+<i>XMLFile</i>

+</b> <b>

+<i>XSLFile</i>

+</b>

+</code>

+</p>

+<p>where <b>

+<i>XMLFile</i>

+</b> is a source XML file, and <b>

+<i>XSLFile</i>

+</b> is the XLST input file.  The program will use 

+   <b>

+<i>XSLFile</i>

+</b> to transform the input file <b>

+<i>XMLFile</i>

+</b> using Xerces DOM as the output destination.</p>	  

+<p>See the FormatterToXercesDOM usage in the sample code.</p>

+

+

+<a name="usestylesheetparam">&#8204;</a>    

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>UseStylesheetParam</h3>

+

+<p>What it does: Performs a transformation using top-level stylesheet parameters.  There are three supported types of parameters.  One is a text string.  A second is a number of type double.  A nodeset or parsed document can also be used.</p>

+

+<p>You can run it from the UseStylesheetParam subdirectory with</p>

+

+<p>

+<code>UseStylesheetParam <b>

+<i>xmlfile</i>

+</b> <b>

+<i>stylesheet</i>

+</b> <b>

+<i>outfile</i>

+</b> [options]</code>

+</p>

+

+<p>where the options are:</p>

+

+<p>

+<code>    -s key "'String-Value'"</code>

+<br />

+<code>    -n key Number</code>

+<br />

+<code>    -d key "Document-URL"</code>

+</p>

+

+<p>The files used by the sample program and the top-level parameter nodesets for this illustration are to be in working directory in which the sample program runs.</p>

+

+<p>Using the sample program:</p>

+

+<p>

+<code>UseStylesheetParam foo.xml foo.xslt foo.out \<br />

+    -s stringA "'This is a test string value'" \<br />

+    -n numberA  123.012345 \<br />

+    -d parmA "parmA.xml" \<br />

+    -d parmB "parmB.xml"</code>

+</p>

+

+<p>The <b>

+<i>parmA.xml</i>

+</b> and <b>

+<i>parmB.xml</i>

+</b> are parsed and converted to nodesets.  The stylesheet <b>

+<i>foo.xslt</i>

+</b> merges the contents of <b>

+<i>foo.xml</i>

+</b> and the parameters into the <b>

+<i>foo.out</i>

+</b> file.</p>

+

+<p>The source sample is implemented in C++.  Another example is implemented in 'C' using the XalanCAPI library <b>

+<i>TestCAPIparm.c</i>

+</b>.  The usage interface for both is the same.</p>

+

+<p>See also: <a href="usagepatterns.html#params">Setting stylesheet parameters</a>.</p>

+

+

+<a name="xalantransform">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>XalanTransform</h3>

+<p>What it does: XalanTransform uses the XalanTransformer class and the associated C++ API to apply an XSL stylesheet 

+   file to an XML document file and write the transformation output to either an output file or to a stream. XalanTransform 

+   takes command-line arguments for the XML document to be transformed, the XSL stylesheet to apply, and an optional output 

+   file argument. If you omit the third argument, XalanTransform writes the transformation output to a stream that is sent to 

+   standard out (the console).</p>

+<p>You can run XalanTransform from the XalanTransform subdirectory with</p>

+<p>

+<code>XalanTransform foo.xml foo.xsl foo.out</code>

+</p>

+<p>Omit the third argument to write the transformation result to the console. See also: <a href="usagepatterns.html#xalantransformer">Using the XalanTransformer class.</a>.</p>

+

+  

+<a name="xalantransformercallback">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>XalanTransformerCallback</h3>

+<p>What it does: Return transformation output in blocks to a callback function, which writes the output to a file.

+   This sample illustrates the use of a callback function to incrementally process a transformation result, that is to begin

+   working with the transformation result before the transformation has been completed. See <a href="usagepatterns.html#incremental">Processing output incrementally</a>.</p>

+<p>You can run it from the XalanTransformerCallback subdirectory with</p>

+<p>

+<code>XalanTransformerCallback foo.xml foo.xsl [foo.out]</code>

+</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">If you omit the third argument, the transformation result is written to the console.</td>

+</tr>

+</table>

+

+  

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/secureweb.html b/docs/xalan/xalan-c/secureweb.html
new file mode 100644
index 0000000..af098f6
--- /dev/null
+++ b/docs/xalan/xalan-c/secureweb.html
@@ -0,0 +1,586 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: XML Security Overview</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">XML Security Overview</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>Web Security<br />

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>XML Security Overview</h2>

+<ul>

+<li>

+<a href="#xsov_xmlParser">XML Parser Threats</a>

+</li>

+<li>

+<a href="#xsov_resolvEntity">Resolving External Entities</a>

+</li>

+<li>

+<a href="#xsov_trustEntity">Trusted External Entities</a>

+</li>

+<li>

+<a href="#xsov_piThreat">Processing Instruction (PI) Threats</a>

+</li>

+<li>

+<a href="#xsov_soapThreat">SOAP Simple Object Access Protocol</a>

+</li>

+<li>

+<a href="#xsov_wsdlThreat">WSDL Web Service Description Language</a>

+</li>

+<li>

+<a href="#xsov_uriThreat">URI Uniform Resource Identifiers</a>

+</li>

+<li>

+<a href="#xsov_urlThreat">URL Uniform Resource Locators</a>

+</li>

+<li>

+<a href="#xsov_malUtfStrings">Malformed UTF-8 and UTF-16 Strings</a>

+</li>

+<li>

+<a href="#xsov_canonicalXML">Canonical XML Issues</a>

+</li>

+<li>

+<a href="#xsov_xhtmlWorkaround">XHTML Output Mode - Workaround</a>

+</li>

+</ul>

+

+<br />

+<p>

+<b>This document goes well beyond XSLT. Use it as a general reference.</b>

+</p>

+<p>There are numerous security issues and problems that are 

+endemic to the XML architecture. 

+I will try to identify some of the most common issues and threats 

+and describe some mitigation strategies.

+</p>

+<p>The biggest threat issue is a matter of trust. 

+How well do you trust your sources of XML data? 

+What are the tools that can help increase the trust?

+</p>

+<p>Most Web Service communications uses HTTP over standard TCP ports. 

+The HTTP protocol on standard TCP ports has free access through business firewalls. 

+How well do your proxy servers handle the Web Service security issues 

+required for your applications?

+</p>

+<p>How well are your resource identifiers protected? 

+How well do your applications cope with resource identifier spoofing? 

+Can your resource identifiers be trusted by outside clients? 

+Can you trust the credentials of your clients?

+</p>

+<p>Will the SOAP interface for your Web Service send error messages 

+to an untrusted Web Service address?

+</p>

+<p>Is your WSDL interface description file readily available for download, 

+thus enabling persons with malicious intent to create targeted attacks on your Web Services?

+</p>

+<p>Can you trust the client credentials that use your Web Service application?

+</p>

+<p>There are numerous security issues that are not directly involved in 

+the markup of XML or its processing. 

+These issues relate to infrastructure.

+</p>

+<p>Can you trust your DNS (Domain Name Service) and reduce its vulnerability to hijacking?

+</p>

+<p>Are your web servers hardened against known application vulnerabilities?

+</p>

+<p>Are your applications hardened against 

+cross site scripting and SQL injection?

+</p>

+<p>Can your client applications trust the scripts 

+that are transmitted as web pages?

+</p>

+<p>Can your web server trust the scripts that are submitted?

+</p>

+<p>Is application data sanitized before being consumed by your applications?

+</p>

+

+<a name="xsov_xmlParser">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>XML Parser Threats</h3>

+

+<p>This list will help you find the XML threat vectors that need to be addressed.  

+Some vectors cannot be easily resolved.

+</p>

+<ul>

+<li>Resolving External Entities</li>

+<li>Implicit Trust of Internal DTD</li>

+<li>Resource Identifier Spoofing</li>

+<li>Malformed UTF-8 and UTF-16</li>

+<li>Secure the trust of external DTD descriptions</li>

+<li>Secure the trust of external Schema definitions</li>

+<li>Secure the trust of entity import and include constructs</li>

+<li>Configuration of Entity Resolver Catalogs</li>

+</ul>

+

+

+<a name="xsov_resolvEntity">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Resolving External Entities</h3>

+

+<p>The XML1.0 and XML1.1 standards specify a <code>DOCTYPE</code> format. 

+The processing may uncover significant entity resolver deficiencies.

+</p>

+

+<p>

+<code>&lt;!DOCTYPE name PUBLIC "public-id" "system-id" [internal-DTD]&gt;</code>

+<br />

+<code>&lt;!DOCTYPE name SYSTEM "system-id" [internal-DTD]&gt;</code>

+</p>

+<p>XML Parsers MUST process the <code>[internal-DTD]</code> if it exists.

+</p>

+<p>XML Parsers MAY process the external <code>"system-id"</code> if it can be found.

+</p>

+<p>XML Parsers MAY process the external <code>"public-id"</code> if it can be found.

+</p>

+<p>XML Parsers MAY prefer either the <code>"public-id"</code> or <code>"system-id"</code> 

+if both are specified.

+</p>

+<p>XML Parsers MAY ignore both the <code>"public-id"</code> and <code>"system-id"</code> 

+if present.

+</p>

+<p>Declaring a parameter entity notation <code>"%entity;"</code> 

+in the <code>[internal-DTD]</code> and expanding the content within the 

+<code>[internal-DTD]</code> will force the XML parser to import the content 

+referenced by the <code>"%entity;"</code> notation.

+</p>

+<p>Declaring a general entity notation <code>"&amp;entity;"</code> in the 

+<code>[internal-DTD]</code> and expanding the content within the body of 

+the XML document will force the XML parser to import the content referenced 

+by the <code>"&amp;entity"</code> notation.

+</p>

+<p>The default method of resolving external entities is by resolving entity 

+name strings relative to DNS named hosts and/or path names relative to the 

+local computer system.  When receiving XML documents from an outside source, 

+these entity reference locations may be unreachable, unreliable, or untrusted.

+</p>

+<p>Web Service SOAP XML documents MUST NOT have <code>DOCTYPE</code> definitions. 

+SOAP processors should not process DOCTYPE definitions. 

+The conformance is implementation dependent.

+</p>

+<p>

+<a href="http://www.w3.org/TR/soap">http://www.w3.org/TR/soap</a>

+</p>

+

+

+<a name="xsov_trustEntity">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Trusted External Entities</h3>

+

+<p>The <b>

+<i>OASIS XML Catalogs</i>

+</b> specification, if implemented by an application, 

+can specify a set of external entities that can be trusted by mapping known 

+identifiers to local or trusted resources.  A secure application should 

+not trust entity identifiers whose resources cannot be localized and secured.

+</p>

+<p>

+<a href="http://www.oasis-open.org/committees/entity">http://www.oasis-open.org/committees/entity</a>

+</p>

+<p>A similar method can be designed specifically for each application.

+</p>

+<p>A trusted application may need to pre-screen any entity definitions in XML 

+before passing the information into the core of the application.

+</p>

+<p>A trusted application should install some type of entity resolving catalog 

+or database that can be trusted.

+</p>

+

+

+<a name="xsov_piThreat">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Processing Instruction (PI) Threats</h3>

+

+<p>Processing instructions are a mechanism to send specific information 

+into an application.  A common processing instruction is a 

+stylesheet declaration.  

+This information is part of an XML document and comes usually 

+after the XML header and before the root element.

+</p>

+<p>A stylesheet declaration may cause an application to look for an 

+untrusted XSLT stylesheet to use for transformation of the 

+following root element.  A standard exists for associating style sheets with XML documents.

+</p>

+<p>

+<a href="http://www.w3.org/TR/xml-stylesheet">http://www.w3.org/TR/xml-stylesheet</a>

+</p>

+<p>Examples in the xml-stylesheet recommendation describes how to use the 

+processing instruction to associate CSS stylesheets for XHTML.  

+Applications that use XSLT transformations will interpret the 

+xml-stylesheet processing instruction as the location of a 

+XSLT transformation stylesheet.

+</p>

+<p>As more processing instructions become standardized and in common use, 

+their threat of misuse increases.

+</p>

+

+

+<a name="xsov_soapThreat">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>SOAP Simple Object Access Protocol</h3>

+

+<p>The SOAP specification explicitly forbids the transport of 

+DOCTYPE definitions and PI processing instructions.

+</p>

+<p>The SOAP specifies a transport envelope that encapsulates 

+an XML message for transport. SOAP can also handle various 

+transmission status indicators implying confirmation of delivery, 

+error messages, and queue status messages. 

+SOAP transports can be loosely coupled and intermittent. 

+SOAP is used extensively in the design and deployment of Web Service architectures. 

+A companion Web Service specification is WSDL, the Web Service Definition Language.

+</p>

+<p>The SOAP protocol as widely deployed by Microsoft and other vendors 

+is based on specifications that predate the adoption 

+by the <a href="http://www.w3.org">World Wide Web Consortium (W3C)</a>. 

+SOAP is not based on Microsoft technology. 

+It is an open standard drafted by UserLand, Ariba, Commerce One, Compaq, 

+Developmentor, HP, IBM, IONA, Lotus, Microsoft, and SAP. 

+<a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508">SOAP 1.1</a> 

+was presented to the W3C in May 2000 as an official Internet standard. 

+</p>

+<p>The original <a href="http://www.w3.org/TR/soap11">SOAP 1.1</a> standard 

+is associated with this URI namespace prefix.

+</p>

+<p>

+<code>http://schemas.xmlsoap.org/soap/</code>

+</p>

+<p>There are significant changes in naming conventions since SOAP 1.1 

+was adopted by W3C as a recommended standard. 

+The current iteration is <a href="http://www.w3.org/TR/soap12">SOAP 1.2</a> 

+and is associated with this URI namespace prefix.

+</p>

+<p>

+<code>http://www.w3.org/2003/05</code>

+</p>

+<p>The basic security threat to the SOAP architecture is 

+the ability to spoof Web Service addresses and telling a 

+SOAP server to respond to a rogue Web Service address 

+when a <code>mustUnderstand</code> attribute is processed 

+and an error indication is raised.

+</p>

+<p>Other intelligence that can be obtained might be the 

+location of a public accessible WSDL definition 

+of the messages being transported by SOAP, 

+thus allowing additional malware attacks to be automatically generated.

+</p>

+

+

+<a name="xsov_wsdlThreat">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>WSDL Web Service Description Language</h3>

+

+<p>WSDL is known as the Web Service Description Language. 

+The WSDL XML document is a an interface description that can be transformed 

+into various programming languages. 

+Such transformed interface descriptions are recognized as 

+Java Interfaces and C++ Virtual Classes.

+</p>

+<p>The original <a href="http://www.w3.org/TR/wsdl">WSDL 1.1</a> standard 

+is associated with this URI namespace prefix.

+</p>

+<p>

+<code>http://schemas.xmlsoap.org/wsdl/</code>

+</p>

+<p>The current <a href="http://www.w3.org/TR/wsdl20">WSDL 2.0</a> standard 

+is maintained by W3C in their namespace with prefix.

+</p>

+<p>

+<code>http://www.w3.org/</code>

+</p>

+<p>The WSDL can provide a template for generating a compliant Web Service systems 

+for multiple and hetrogeneous platforms.

+</p>

+<p>A WSDL document that can benefit developers can also be used by malware 

+and hackers to taylor specific threats against targeted Web Services.

+</p>

+<p>The SOA (Service Oriented Architecure), 

+SAAS (Software As A Service), 

+PAAS (Platform As A Service) are families of 

+Web Services used as interfaces into what is 

+generally known as Cloud Computing.

+</p>

+

+

+<a name="xsov_uriThreat">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>URI Uniform Resource Identifiers</h3>

+

+<p>The URI does not need to specify the location of a resource. 

+It merely provides a resource name. A catalog, database, 

+or other mechanism is used to map URIs to resource locations.

+</p>

+<p>The security issue here is that most URIs are used with a 

+DNS (Domain Name Service) to find a host and path to a resource. 

+The URI is then treated as a URL (Uniform Resource Locator).

+</p>

+<p>The mitigation of these threats requires diligence of the 

+application architects to ensure an appropriate level of trust 

+for the URIs and URLs used in their applications.

+</p>

+<p>The transmission media is inherently untrusted. 

+Often SOAP bindings and HTTP transports are used. 

+Web Service addressing is readily spoofed.

+</p>

+

+

+<a name="xsov_urlThreat">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>URL Uniform Resource Locators</h3>

+

+<p>See: <a href="#xsov_uriThreat">URI Uniform Resource Identifiers</a>

+</p>

+

+

+<a name="xsov_malUtfStrings">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Malformed UTF-8 and UTF-16 Strings</h3>

+

+<p>Public Key Infrastructure (X.509) certificates are leased from a 

+certificate authority or are self-signed. 

+The distinguished names and parts thereof are usually rendered in unicode.

+</p>

+<p>The value of zero is not a valid Unicode character. 

+It is possible to create non-zero UTF-8 and UTF-16 sequences that equate to zero, 

+which is not allowed. 

+Some rogue hackers have successfully obtained wild-card PKI (X.509) certificates 

+by prepending a UTF-8(zero) in a distinguished name when applying for a certificate. 

+Such a certificate could be used to successfully sign anything.

+</p>

+<p>Applications should not blindly accept UTF-8 and UTF-16 strings 

+without verifying the proper encoding for those strings. 

+Contents that equate to bad Unicode character values should be denied.

+</p>

+

+

+<a name="xsov_canonicalXML">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Canonical XML Issues</h3>

+

+<p>Canonical XML is a tranformation of an XML document into a 

+canonical form useful for signing. 

+This is used in some Web Service security implementations.

+</p>

+<p>There are several areas where Canonical XML will create XML documents 

+that have severe application problems.

+</p>

+<p>The number values are rendered in Base-10 as decimal fractions. 

+The computations performed by computers are usually in Base-2 floating point arithmetic. 

+You therefore have truncation or roundoff issues when converting between 

+decimal fractions and Base-2 fractions.

+</p>

+<p>The canonical process may collapse whitespace and transform 

+multi-character line endings to single-character line endings. 

+When whitespace is significant, the canonical issues for signing can cause problems.

+</p>

+<p>It is possible to create XHTML documents that will not work with some browsers. 

+The empty &lt;a/&gt; anchor element is not allowed by many browsers, 

+therefore &lt;a&gt;&lt;/a&gt; is required. 

+A standard XML canonical process may collapse elements with no content into empty elements. 

+The empty paragraph&lt;p/&gt; is disallowed.  The &lt;p&gt;&lt;/p&gt; is supported.

+</p>

+<p>The World Wide Web Consortium (W3C) has additional detailed discussion of 

+<a href="http://www.w3.org/TR/C14N-issues/">canonicalization issues</a>.

+</p>

+

+

+<a name="xsov_xhtmlWorkaround">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>XHTML Output Mode - Workaround</h3>

+

+<p>The Xalan-C/C++ library currently has no XHTML output mode.

+Since XHTML is to be well-formed XML, the desire is to use the XML output method.

+</p>

+<p>XHTML is based on HTML version 4.

+</p>

+<p>Empty elements declared by HTML-4 should have a space before the 

+trailing '/&gt;' markup (i.e. &lt;br /&gt; and &lt;hr /&gt;). 

+XML output mode does not normally have this space when using 

+the &lt;xsl:element name="br" /&gt; in your stylesheet. 

+Most modern browsers are ok with no space, but viewing the 

+browser source shows a warning condition.

+</p>

+<p>Non-empty elements declared by HTML-4 should not be rendered as empty XML elements. 

+If there is no content, the elements should be rendered with both a start-tag and end-tag 

+(i.e. &lt;a name="xxx"&gt;&lt;/a&gt;) instead of an XML empty-element. 

+XSLT processors usually create an empty-element 

+(i.e. &lt;a name="xxx"/&gt;) when the element being defined has no content 

+other than attributes.

+</p>

+<p>For XSLT processors creating XML documents for XHTML, 

+you can create what looks like an element with no content by including 

+the &amp;#8204; character 

+(a zero-width non-joining character often known as &amp;zwnj;) 

+as the element text content. 

+This also allows transitional browsers the ability to find the end tag.

+</p>

+<p>

+<blockquote class="source">

+<pre>  DTD    &lt;!ENTITY zwnj    "&amp;#8204;"&gt;

+

+  &lt;a name="marker"&gt;&amp;zwnj;&lt;/a&gt;</pre>

+</blockquote>

+</p>

+<p>Transitional XHTML is not usually well-formed XML. 

+It becomes a mix of HTML version 4 and XML markup. 

+Strict XHTML is required to be well-formed XML.

+</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/usagepatterns.html b/docs/xalan/xalan-c/usagepatterns.html
new file mode 100644
index 0000000..55b7e36
--- /dev/null
+++ b/docs/xalan/xalan-c/usagepatterns.html
@@ -0,0 +1,945 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: Xalan-C++ Basic usage patterns</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">Xalan-C++ Basic usage patterns</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>

+<a href="whatsnew.html">What's New</a>

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>Usage Patterns<br />

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>Xalan-C++ Basic usage patterns</h2>

+<ul>

+  <li>

+<a href="#intro">Introduction</a>

+</li>

+  <li>

+<a href="#xalantransformer">Basic usage pattern with the XalanTransformer C++ API</a>

+</li>

+  <li>

+<a href="#stylepi">Using a stylesheet processing instruction</a>

+</li>

+  <li>

+<a href="#params">Setting stylesheet parameters</a>

+</li>

+  <li>

+<a href="#incremental">Processing output incrementally</a>

+</li>

+  <li>

+<a href="#compiled">Performing a series of transformations</a>

+</li>

+  <li>

+<a href="#dom">Working with DOM input and output</a>

+</li>

+  <li>

+<a href="#xercesdomwrapperparsedsource">Using a Xerces DOM as the source for a Xalan transformation</a>

+</li>

+  <li>

+<a href="#xpath">Working with XPath expressions</a>

+</li>

+  <li>

+<a href="#tracelistener">Using the TraceListener</a>

+</li>

+  <li>

+<a href="#icu">Using the International Components for Unicode (ICU)</a>

+</li>

+  <li>

+<a href="#capi">Basic usage pattern with the XalanTransformer C API</a>

+</li>

+  <li>

+<a href="#cvar">Variations with the XalanTransformer C API</a>

+</li>

+  <li>See also: <a href="extensions.html">Creating and using extension functions</a>

+</li>

+</ul>

+  

+<a name="intro">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Introduction</h3>  

+<p>To perform a transformation, use one of the <a href="apiDocs/classXalanTransformer.html">XalanTransformer

+   </a> transform() methods. The transformation requires an XML source document and an XSL stylesheet. Both of these objects 

+   may be represented by instances of <a href="apiDocs/classXSLTInputSource.html">XSLTInputSource </a>. You can construct 

+   an XSLTInputSource with a string (the system ID for a file or URI), an input stream, or a DOM.</p>

+<p>If you are using an XSL stylesheet to perform a series of transformations, you can improve performance by calling transform() 

+   with a compiled stylesheet, an instance of <a href="apiDocs/classXalanCompiledStylesheet.html">XalanCompiledStylesheet</a>. 

+   If you are transforming an XML source more than once, you should call transform() with a parsed XML source, an instance of 

+   <a href="apiDocs/classXalanParsedSource.html">XalanParsedSource</a>. See <a href="#compiled">Performing a series of 

+   transformations</a>.</p>

+<p>If you XML source document contains a stylesheet Processing Instruction (PI), you do not need to include a stylesheet object 

+  when you call transform().</p>

+<p>The transformation output is represented by an <a href="apiDocs/classXSLTResultTarget.html">XSLTResultTarget</a>, which 

+   you can set up to refer to an output stream, the system ID for a file or URI, or a Formatter for one of the various styles of 

+   DOM output.</p>

+<p>For detailed API documentation, see <a href="apiDocs/index.html">Xalan-C++ API</a>. For an overview of the command-line 

+   utility, see <a href="commandline.html">Command-Line Utility</a>.</p>

+

+

+<a name="xalantransformer">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Basic usage patten with the XalanTransformer C++ API</h3>

+<p>Using <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> and the C++ API, you can perform one or more 

+   transformations as described in the following steps.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">For a working sample that illustrates these steps, see the <a href="samples.html#xalantransform">XalanTransform</a> 

+      sample.</td>

+</tr>

+</table>

+      

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>1. Include the required header files.</h4>

+<p>Always start with xalanc/Include/PlatformDefinitions.hpp, the Xalan-C++ base header file. Also include xercesc/util/PlatformUtils.hpp, 

+   xalanc/XalanTransformer/XalanTransformer.hpp, and any other header files your particular application requires.</p>

+<blockquote class="source">

+<pre>

+#include &lt;xalanc/Include/PlatformDefinitions.hpp&gt;

+#include &lt;xercesc/util/PlatformUtils.hpp&gt;

+#include &lt;xalanc/XalanTransformer/XalanTransformer.hpp&gt;

+...

+</pre>

+</blockquote>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>2. Define namespaces</h4>

+<p>As of version 1.5, Xalan-C++ now uses C++ namespaces for those platforms which support them.  A number of macros are provided to 

+   make using the Xalan-C++ (and Xerces-C++) namespaces easier.</p>

+<p>In the following example, the <b>XALAN_USING_XERCES</b> and <b>XALAN_USING_XALAN</b> macros are used to declare that the 

+   program is using <b>XMLPlatformUtils</b> and <b>XalanTransformer</b> from the Xerces-C++ and Xalan-C++ namespaces respectively.</p>

+<blockquote class="source">

+<pre>

+XALAN_USING_XERCES(XMLPlatformUtils)

+XALAN_USING_XALAN(XalanTransformer)

+</pre>

+</blockquote>

+

+<p>These macros can be used immediately after the included header files (for global applicability in a given source file) or within 

+   functions and methods for local applicability.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Whilst you can use the standard C++ namespace syntax directly, the Xerces-C++ and Xalan-C++ namespaces are linked to the version 

+      number.  For example, the Xalan namespace is currently <b>xalanc_1_11</b>.  The macros will automatically take care of this 

+      when code is re-compiled against a new version of the libraries.  Using the namespaces directly will require each namespace 

+      related statement be updated by hand.</td>

+</tr>

+</table>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>3. Initialize Xerces and Xalan.</h4>

+<p>Use the static initializers to initialize the Xalan-C++ and Xerces-C++ platforms. You must initialize Xerces-C++ once per process. You 

+   may initialize and terminate Xalan-C++ multiple times, but this is not recommended: it is inefficient and is not thread safe.</p>  

+<blockquote class="source">

+<pre>

+XMLPlatformUtils::Initialize();

+XalanTransformer::initialize();

+</pre>

+</blockquote>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>4. Create a XalanTransformer.</h4>

+<blockquote class="source">

+<pre>

+XalanTransformer theXalanTransformer;

+</pre>

+</blockquote>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>5. Perform each transformation.</h4>

+<p>You can explicitly instantiate <a href="apiDocs/classXSLTInputSource.html">XSLTInputSource</a> objects for the XML 

+   source document and XSL stylesheet, and an <a href="apiDocs/classXSLTResultTarget.html">XSLTResultTarget</a> object 

+   for the output, and then call <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> transform() with those 

+   objects as parameters. For example:</p>

+<blockquote class="source">

+<pre>

+XSLTInputSource xmlIn("foo.xml");

+XSLTInputSource xslIn("foo.xsl");

+XSLTResultTarget xmlOut("foo-out.xml");

+int theResult =

+    theXalanTransformer.transform(xmlIn,xslIn,xmlOut)

+</pre>

+</blockquote>

+

+<p>Alternatively, you can call transform() with the strings (system identifiers), streams, and/or DOMs that the compiler needs 

+   to implicitly construct the <a href="apiDocs/classXSLTInputSource.html">XSLTInputSource</a> and 

+   <a href="apiDocs/classXSLTResultTarget.html">XSLTResultTarget</a> objects. For example:</p>

+<blockquote class="source">

+<pre>

+const char* xmlIn = "foo.xml";

+const char* xslIn = "foo.xsl";

+const char* xmlOut = "foo-out.xml";

+int theResult =

+    theXalanTransformer.transform(xmlIn,xslIn,xmlOut)

+</pre>

+</blockquote>

+<p>Keep in mind that <a href="apiDocs/classXSLTInputSource.html">XSLTInputSource</a> and 

+   <a href="apiDocs/classXSLTResultTarget.html">XSLTResultTarget</a> provide a variety of single-argument constructors that 

+   you can use in this manner:</p>

+<ul>

+  <li>

+<code>XSLTInputSource(const char* systemID);</code>

+</li>

+  <li>

+<code>XSLTInputSource(const XMLCh* systemID);//Unicode chars</code>

+</li>

+  <li>

+<code>XSLTInputSource(istream* stream);</code>

+</li>

+  <li>

+<code>XSLTInputSource(XalanNode* node);</code>

+<br />

+<br />

+</li>

+  <li>

+<code>XSLTResultTarget(char* fileName);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(XalanDOMString&amp; fileName);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(ostream* stream);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(ostream&amp; stream);</code>

+</li>  

+  <li>

+<code>XSLTResultTarget(Writer* characterStream);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(XalanDocument* document);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(XalanDocumentFragment* documentFragment);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(XalanElement* element);</code>

+</li>

+  <li>

+<code>XSLTResultTarget(FormatterListener&amp; flistener);</code>

+</li>

+</ul>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Each transform() method returns an integer code, 0 for success. If an error occurs, you can use the getLastError() method 

+      to return a pointer to the error message.</td>

+</tr>

+</table>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>6. Shut down Xalan.</h4>

+<p>When you shut down Xalan, you may also want to shut down Xerces and ICU support (if enabled). Keep the following considerations 

+   in mind:</p>

+<ul>

+  <li>Once you have shut down Xerces, you can no longer make Xalan or Xerces calls in the current process.<br />

+<br />

+</li>

+  <li>Shut down ICU support if you have enabled it (see <a href="#icusupport">enabling ICU support</a>) and if the 

+      application is exiting or no longer requires the ICU. The <code>XMLPlatformUtils::Terminate()</code> call does nothing 

+      if ICU support has not been enabled.</li>

+  <li>Ensure that there are no Xalan-C++ or Xerces-C++ objects extant at the point of termination.  Any deletion of objects after 

+      termination could cause errors.</li>

+</ul>

+<p>Use the static terminators.</p>

+<blockquote class="source">

+<pre>

+XalanTransformer::terminate();

+XMLPlatformUtils::Terminate();

+XalanTransformer::ICUCleanUp();

+</pre>

+</blockquote>

+

+

+

+<a name="stylepi">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Using a stylesheet processing instruction</h3>

+<p>If you want to use the stylesheet referred to by a stylesheet processing instruction in the XML document, simply call 

+   transform() without the second XSLTInputSource argument. For example:</p>

+<blockquote class="source">

+<pre>

+// foo.xml contains a stylesheet PI

+const char* xmlIn = "foo.xml";

+const char* xmlOut = "foo-out.xml";

+int theResult =

+    theXalanTransformer.transform(xmlIn,xmlOut)

+</pre>

+</blockquote>

+

+

+<a name="params">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Setting Stylesheet Parameters</h3>

+

+<p>An XSL stylesheet can include parameters that are set at run time before a transformation takes place.  Traditionally, a top-level parameter value is of text string type.  The Xalan library now supports three types of top-level parameters that can be set.  One is a text string parameter.  Another is a number parameter of floating point type double.  The third is a nodeset (XalanNode *) parameter, usually implemented as a parsed document.</p>

+

+<p>Any XObject that is created outside of the transformation can be associated with a top-level parameter.  The XalanTransformer has an XObject factory whereby top-level parameters can be owned by the XalanTransformer object.</p>

+

+<p>To set a stylesheet parameter, use the 

+<a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> setStylesheetParam() method. The setStylesheetParam() method takes two arguments: the parameter name and the value.  The value can be a string type, a number double type, an (XalanNode *) pointer to a nodeset or parsed document, or any XObjectPtr returned from an XObject factory.</p>

+

+<p>Top level parameters are sticky.  Once set to an instance of an XalanTransformer object, they can be used for multiple transformations.  The XalanTransformer reset() method prepares a transformer for a new transformation.  Use the clearStylesheetParams() method to release the top-level stylesheet parameters.</p>

+

+<p>The Xalan command line utility currently supports only a text string value for a top-level stylesheet parameter.  The single quotes are required to identify a text string value.</p>

+

+<p>

+<code>Xalan -p param1 "'string expression'"foo.xml foo.xsl</code>

+</p>

+

+<p>If the string expression includes spaces or other characters that the shell intercepts, first enclose the string in single quotes so Xalan-C++ interprets it as a string expression, and then enclose the resulting string in double quotes so the shell interprets it as a single argument.</p>

+

+<p>The <a href="samples.html#usestylesheetparam">UseStylesheetParam</a> sample application supports all three types of top-level stylesheet parameters.</p>

+

+<p>The 'C' language interface XalanCAPI also supports the three types of top-level parameters.  The sample program TestCAPIparms.c shows how to use top-level parameters with 'C' language programs.</p>

+

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The Xalan command line utility should be revised to accommodate the number and nodeset types of top-level stylesheet parameters. Only text string values are currently supported.</td>

+</tr>

+</table>

+

+<p>Top-level stylesheet parameters of nodeset type (XalanNode *) are useful for the merging of multiple XML documents.</p>

+

+

+<a name="incremental">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Processing output incrementally</h3>

+<p>

+<a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> provides a transform() method that sends the output in blocks 

+to a callback function, which enables you to begin processing the output while the transformation is still in process:</p>

+<blockquote class="source">

+<pre>

+int

+transform(const XSLTInputSource&amp; xmlIn,

+          const XSLTInputSource&amp; xslIn,

+          void* theOutputHandle,

+          XalanOutputHandlerType theOutputHandler,

+          XalanFlushHanderType theFlushHandler = 0);

+</pre>

+</blockquote>

+<p>For an example, see <a href="samples.html#xalantransformercallback">XalanTransformerCallback</a>.</p>

+

+

+<a name="compiled">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Performing a series of transformations</h3>

+<p>Before Xalan performs a standard transformation, it must parse the XML document and compile the XSL stylesheet into binary 

+   representations. If you plan to use the same XML document or stylesheet in a series of transformations, you can improve performance 

+   by parsing the XML document or compiling the stylesheet once and using the binary representation when you call transform().</p>

+<p>

+<a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> includes methods for creating compiled stylesheets and 

+   parsed XML documents: the compileStylesheet() method returns a pointer to a <a href="apiDocs/classXalanCompiledStylesheet.html">

+   XalanCompiledStylesheet</a>; the parseSource() method returns a pointer to a <a href="apiDocs/classXalanParsedSource.html">

+   XalanParsedSource</a>.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">In the case of failure, both methods return 0.</td>

+</tr>

+</table>

+<p>Example using a XalanCompiledStylesheet to perform multiple transformations:</p>

+<blockquote class="source">

+<pre>

+XalanCompiledStylesheet* compiledStylesheet = 0;

+compiledStylesheet = theXalanTransformer.compileStylesheet("foo.xsl");

+assert(compiledStylesheet!=0);

+theXalanTransformer.transform("foo1.xml", *compiledStylesheet, "foo1.out.");

+theXalanTransformer.transform("foo2.xml", *compiledStylesheet, "foo2.out");

+...

+</pre>

+</blockquote>

+<p>For a working sample, see the <a href="samples.html#compilestylesheet">CompileStylesheet</a> sample.</p>

+<p>Example using a XalanParsedSource for multiple transformations:</p>

+<blockquote class="source">

+<pre>

+XalanParsedSource* parsedXML = 0;

+parsedXML = theXalanTransformer.parseSource("foo.xml");

+assert(parsedXML!=0);

+theXalanTransformer.transform(*parsedXML, "foo1.xsl", "foo-xsl1.out");

+theXalanTransformer.transform(*parsedXML, "foo2.xsl", "foo-xsl2.out");

+...

+</pre>

+</blockquote>

+<p>For a sample that uses both a parsed XML source and a compiled stylesheet, see <a href="samples.html#threadsafe">ThreadSafe

+</a>.</p>

+

+

+<a name="dom">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Working with DOM input and output</h3>

+<p>You can set up an <a href="apiDocs/classXSLTResultTarget.html">XSLTResultTarget</a> to produce a DOM when you perform a 

+   transformation. You can also use a DOM as input for a transformation.</p>

+<p>The following code fragment illustrates the procedures for working with DOM output :</p>

+<blockquote class="source">

+<pre>

+

+// Use the Xerces DOM parser to create a DOMDocument.

+

+#include &lt;xercesc/dom/DOMDocument.hpp&gt;

+#include &lt;xercesc/dom/DOMImplementation.hpp&gt;

+

+#include &lt;xalanc/XMLSupport/FormatterToXML.hpp&gt;

+#include &lt;xalanc/XMLSupport/XalanTransformer.hpp&gt;

+

+XALAN_USING_XERCES(DOMDocument)

+XALAN_USING_XERCES(DOMImplementation)

+

+XALAN_USING_XALAN(FormatterToXML)

+XALAN_USING_XALAN(XalanTransformer)

+

+

+    // If you want to produce DOM output, create an empty Xerces Document

+    // to contain the transformation output.

+    

+    DOMDocument * theDOM = 

+        DOMImplementation::getImplementation()-&gt;createDocument();    

+

+    // Now create a FormatterListener which can be used by the transformer

+    // to send each output node to the new Xerces document

+

+    FormatterToXercesDOM theFormatter(theDOM);

+

+    // Now do the transform as normal

+    XalanTransformer theXalanTransformer

+    int theResult = theXalanTransformer.transform(

+        "foo.xml", 

+        "foo.xsl", 

+        theFormatter);

+...

+

+    // After you perform the transformation, the DOMDocument contains

+    // the output.

+</pre>

+</blockquote>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">You can also follow the same process but use a <b>FormatterToDeprecatedXercesDOM</b> if you require a DOM_Document

+      output.  However this is discouraged, as support for the deprecated DOM may be removed in future releases of Xalan-C++</td>

+</tr>

+</table>

+<p>If you want to use a Xerces DOM object as input for a transformation without wrapping the DOM in a XercesParserLiaison, see 

+   <a href="#xercesdomwrapperparsedsource">passing in a Xerces DOM</a>.</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Limitations</h4>

+<p>Performance is much better when Xalan-C++ uses native source tree handling rather than interacting with the Xerces DOMParser.</p>

+<p>If you are using the deprecated DOM, the Xerces DOMParser by default, creates a DOM_XMLDecNode in the DOM tree to represent 

+   the XML declaration. The Xalan bridge for the Xerces DOM does not support this non-standard node type. Accordingly, you must 

+   call DOMParser::setToCreateXMLDeclTypeNode(false) <b>before</b> you parse the XML file. If not, the behavior is undefined, 

+   and your application may crash.</p>

+

+

+<a name="xercesdomwrapperparsedsource">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Passing in a Xerces DOM to a transformation</h4>

+<p>You may want to use a Xerces DOM that was created without using the XalanTransformer class. As the following code snippet 

+   illustrates, you can use <a href="apiDocs/classXercesDOMWrapperParsedSource.html">XercesDOMWrapperParsedSource</a> to 

+   pass in a Xerces DOM as the source for an XSL transformation.</p>

+<blockquote class="source">

+<pre>

+#include &lt;xercesc/parsers/DOMParser.hpp&gt;

+#include &lt;xalanc/XalanTransformer/XercesDOMWrapperParsedSource.hpp&gt;

+

+void parseWithXerces(XalanTransformer &amp;xalan, 

+                     const XSLTInputSource &amp;xmlInput,

+                     const XalanCompiledStylesheet* styleSheet,

+                     const XSLTResultTarget &amp;output,

+                     XMLFileReporter &amp;logFile)

+{

+    XercesDOMParser theParser;

+  

+    // Turn on validation and namespace support.

+    theParser.setDoValidation(true);

+    theParser.setDoNamespaces(true);

+

+    // Parse the document

+  

+    theParser.parse(xmlInput);

+    DOMDocument *theDOM = theParser.getDocument();

+    theDOM-&gt;normalize();

+

+    XercesDOMSupport theDOMSupport;

+    XercesParserLiaison theParserLiaison;

+  

+    // Use the DOM to create a XercesDOMWrapperParsedSource, 

+    // which you can pass to the transform method.

+    try

+    {

+        const XercesDOMWrapperParsedSource parsedSource(

+                                   theDOM,

+                                   theParserLiaison,

+                                   theDOMSupport,

+                                   XalanDOMString(xmlInput.getSystemId()));

+

+        xalan.transform(parsedSource, stylesheet, output);

+

+    }

+    catch (....)

+    {

+      ...

+    }

+}  

+</pre>

+</blockquote>

+

+

+

+<a name="xpath">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Working with XPath expressions</h3>

+<p>XSL stylesheets use XPath expressions to select nodes, specify conditions, and generate text for the result tree. XPath 

+   provides an API that you can call directly. For example, you may want to select nodes programmatically and do your own 

+   processing without a stylesheet. Xalan-C++ provides an XPathEvaluator interface to simplify the process of executing XPath 

+   expressions.</p>

+<p>For an example that executes XPath expressions against XML source files, see <a href="samples.html#simplexpathapi">

+   SimpleXPathAPI</a> (takes advantage of the XPathEvaluator interface) and <a href="samples.html#xpathwrapper">

+   XPathWrapper</a>.</p>

+

+

+<a name="tracelistener">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Using TraceListener</h3>

+<p>TraceListener is a debugging abstract base class implemented by TraceListenerDefault. You can use TraceListener to trace 

+   any combination of the following:</p>

+<ul>

+  <li>Calls to templates</li>

+  <li>Calls to template children</li>

+  <li>Selection events</li>    

+  <li>Result tree generation events</li>

+</ul>

+<p>To construct a TraceListener with TraceListenerDefault, you need a PrintWriter and a boolean for each of these four 

+   tracing options. You can then use the XSLTEngimeImpl setTraceSelects and addTraceListener methods to add the TraceListener 

+   to an XSLTProcessor. See the <a href="samples.html#tracelisten">TraceListen</a> sample application.</p>

+<p>The TraceListen uses TraceListenerDefault to write events to the screen.</p>

+

+

+<a name="icu">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Using the ICU</h3>

+<p>You can use the <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a> to extend support for encoding, number formatting, and sorting.</p>

+<ul>

+  <li>

+<b>Encoding</b>

+      <br /> Xerces-C++ and Xalan-C++ use UTF-16 encoding to work with Unicode data.  If you integrate the ICU with Xerces-C++, both 

+      Xerces-C++ and Xalan-C++ use ICU support for input and output transcoding.<br />

+<br />

+</li>

+  <li>

+<b>format-number()</b>

+      <br />This XSLT function includes two or three arguments (the third is optional): number, format pattern, and decimal-format 

+      name. Xalan-C++ ignores the format pattern and optional decimal-format name. If you install ICU support for format-number(), 

+      this function is fully supported with all its arguments.<br />

+<br />

+</li>

+  <li>

+<b>xsl:sort</b>

+      <br />If you install ICU support for xml:sort, Xalan-C++ implements Unicode-style collation.</li>

+</ul>

+

+<p>If you choose to build Xalan with ICU, you will need to rebuild Xerces with ICU as well.</p>

+<p>To get the ICU:</p> 

+<ol>

+  <li>Download and unzip the <a href="http://oss.software.ibm.com/icu/download/index.html">International Components for Unicode(ICU) 3.2 source files</a> from the IBM developerWorks open source zone.<br />

+<br />

+</li>

+  <li>Do an ICU build -- see the Windows NT or Unix build instructions in the build_instruct.html that accompanies the download.<br />

+      <b>Important</b> For Windows, define the environment variable ICUROOT and then restart Visual C++ or Visual Studio .NET. 

+      in order for the ICUROOT variable to take effect.<br />

+<br />

+</li>

+</ol>

+

+<a name="icusupport">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Enabling ICU support for encoding</h4>

+<p>If you want to enable ICU support for encoding, you must integrate ICU with your Xerces-C++ build. Xerces-C++ uses ICU for input 

+   encoding. See <a href="http://xml.apache.org/xerces-c/build.html#BuildICU">Building ICU for Xerces-C++</a>.</p>

+<p>Once you have integrated the ICU with Xerces-C++, Xalan-C++ automatically uses ICU support for output encoding (the xsl:output 

+   encoding attribute).</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Enabling ICU support for number formatting and sorting</h4> 

+<p>If you only want to use the ICU to support number formatting and sorting, you do not need to integrate the ICU with Xalan-C++, 

+   but you must do the following in the application where you want to enable ICU support:</p>

+<ol>

+  <li>Define the environment variable ICUROOT.<br />

+<br />

+</li>

+  <li>Substitute ICU support for format-number(), xsl:number, and/or xsl:sort.<br />

+<br />

+</li>

+  <li>Rebuild the Xalan library to include the ICUBridge.</li>

+</ol>

+<p>

+<b>ICUBridge</b>

+</p>

+<p>All Xalan-C++ references to ICU are centralized in the ICUBridge module, which supplies the infrastructure for enabling ICU 

+   support for number formatting and sorting.</p>

+<blockquote class="source">

+<pre>

+#include &lt;xalanc/ICUBridge/ICUBridge.hpp&gt;

+#include &lt;xalanc/ICUBridge/FunctionICUFormatNumber.hpp&gt;

+#include &lt;xalanc/ICUBridge/ICUXalanNumberFormatFactory.hpp&gt;

+#include &lt;xalanc/ICUBridge/ICUBridgeCollationCompareFunctor.hpp&gt;

+</pre>

+</blockquote>

+<p>For Windows, do a clean build of the Xalan library using the "XalanICU.dsw" workspace (for Visual C++ users) or 

+   "XalanICU.sln" solution (for Visual Studio .NET users).</p>

+<p>For UNIX:</p>

+<ol>

+  <li>Define the XALAN_USE_ICU environment variable.<br />

+<br />

+</li>

+  <li>Set the XALANROOT environment variable to the path to to the ICU root (unless you have copied the ICU library to

+      /usr/lib).<br />

+<br />

+</li> 

+  <li>

+<a href="build_instruct.html#unix">Rebuild the Xalan library</a> (libxalan-c.so.111 for Linux, libxalan-c111.so for AIX,

+      libxalan-c.sl.111.0 for HP-UX 11, and libxalan-c1_11.so for Solaris).<br />

+<br />

+</li>

+  <li>Be sure the Xalan library is on the library path (LD_LIBRARY_PATH for Red Hat Linux, LIBPATH for AIX, SHLIB_PATH for 

+      HP-UX 11, LD_LIBRARY_PATH for Solaris).</li>

+</ol>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">The command you use for setting environment variables depends on the shell you are using.<br />

+      For Bourne Shell, K Shell, or Bash use <b>export</b> ENVAR="val"<br />

+      For C Shell, use <b>setenv</b> ENVAR "val"<br />

+      where ENVAR is the environment variable name and val is the environment variable

+      setting. You can check the setting of an environment variable with <b>echo</b> $ENVAR<br />To define XALAN_USE_ICU, 

+      set its value to "1".

+</td>

+</tr>

+</table>

+<p>

+<b>Number formatting</b>

+</p>

+<p>To enable ICU support for the XSLT format-number() function, do the following:</p>

+<blockquote class="source">

+<pre>

+// Install ICU support for the format-number() function.

+FunctionICUFormatNumber::FunctionICUFormatNumberInstaller theInstaller;

+</pre>

+</blockquote>

+

+<p>

+<b>Sorting</b>

+</p> 

+<p>To enable ICU support for xsl:sort, do the following:</p>

+<blockquote class="source">

+<pre>

+// Set up a StylesheetExecutionContextDefaultobject

+// (named theExecutionContext in the following fragment),

+// and install the ICUCollationCompareFunctor.

+ICUBridgeCollationCompareFunctortheICUFunctor;

+theExecutionContext.installCollationCompareFunctor(&amp;theICUFunctor);

+</pre>

+</blockquote>

+

+

+

+<a name="capi">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Basic XalanTransformer usage pattern with the C API</h3>

+<p>We also include a simple C interface for using the XalanTransformer class. See <a href="apiDocs/XalanCAPI_8h.html">

+   XalanTransformer/XalanCAPI.h</a>. The <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a> sample 

+   illustrates the use of this C API.</p>

+<p>Basic strategy:</p>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>1. Include the XalanTransformer C API header</h4>

+<blockquote class="source">

+<pre>#include &lt;XalanTransformer/XalanCAPI.h&gt;</pre>

+</blockquote>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>2. Initialize Xalan and Xerces</h4>

+<blockquote class="source">

+<pre>XalanInitialize();</pre>

+</blockquote> 

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>3. Create a Xalan transformer</h4>

+<blockquote class="source">

+<pre>

+XalanHandle xalan = NULL;

+xalan = CreateXalanTransformer();

+</pre>

+</blockquote>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>4. Perform each transformation</h4>

+<p>  For example:</p>

+<blockquote class="source">

+<pre>

+const char * xmlfilename = "foo.xml";

+const char* xslfilename = "foo.xsl";

+const char* outfilename = "foo.out";

+int theResult = 0;

+theResult = XalanTransformToFile(xmlfilename,

+                                 xslfilename,

+                                 outfilename,

+                                 xalan);

+</pre>

+</blockquote>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">If the XML input file contains a stylesheet processing instruction that you want to use, use an empty XSLTInputSource 

+      for the stylesheet argument.</td>

+</tr>

+</table>

+                             

+    

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>5. Shut down Xalan</h4>

+<blockquote class="source">

+<pre>XalanTerminate();</pre>

+</blockquote>

+

+

+

+<a name="cvar">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Variations with the XalanTransformer C API</h3>

+<p>The <a href="apiDocs/XalanCAPI_8h.html">Xalan C API</a> supports approximately the same set of options as the C++ API. 

+   In particular, you can</p>

+<ul>

+  <li>Use stylesheet processing instructions (PI) to indicate the URI of the stylesheet. Supply NULL for the stylesheet argument.<br />

+<br />

+</li>

+  <li>Set stylesheet parameters. Use the SetStylesheetParam() function.<br />

+<br />

+</li>

+  <li>Compile stylesheets. Use the CompileStylesheet() method to compile a stylesheet, and the TransformToFileCSS() or TransformToDataCSS() function to use the compiled stylesheet in a transformation.<br />

+<br />

+</li>

+  <li>Parse XML sources. Use the XalanParseSource() or XalanParseSouceUseXalan() method.<br />

+<br />

+</li>

+  <li>Place the transformation output in a character array. Use the TransformToData() or TransformToDataCSS() function. After you perform the transformation, use the XalanFreeData() function to free memory allocated for the output data.<br />

+<br />

+</li>

+  <li>Send the output to a callback function to process blocks of output data as they arrive.</li>

+</ul> 

+<p>For a sample that sends output in blocks to a callback function, see <a href="samples.html#apachemodulexslt">

+   ApacheModuleXSLT</a>.</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/whatsnew.html b/docs/xalan/xalan-c/whatsnew.html
new file mode 100644
index 0000000..34b1070
--- /dev/null
+++ b/docs/xalan/xalan-c/whatsnew.html
@@ -0,0 +1,718 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

+<html>

+<head>

+<title>ASF: What's New in this Release</title>

+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

+<meta http-equiv="Content-Style-Type" content="text/css" />

+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />

+</head>

+<!--

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ -->

+<body>

+<div id="title">

+<table class="HdrTitle">

+<tbody>

+<tr>

+<th rowspan="2">

+<a href="../index.html">

+<img alt="Trademark Logo" src="resources/XalanC-Logo-tm.png" width="190" height="90" />

+</a>

+</th>

+<th text-align="center" width="75%">

+<a href="index.html">Xalan-C/C++ Version 1.11</a>

+</th>

+</tr>

+<tr>

+<td valign="middle">What's New in this Release</td>

+</tr>

+</tbody>

+</table>

+<table class="HdrButtons" align="center" border="1">

+<tbody>

+<tr>

+<td>

+<a href="http://www.apache.org">Apache Foundation</a>

+</td>

+<td>

+<a href="http://xalan.apache.org">Xalan Project</a>

+</td>

+<td>

+<a href="http://xerces.apache.org">Xerces Project</a>

+</td>

+<td>

+<a href="http://www.w3.org/TR">Web Consortium</a>

+</td>

+<td>

+<a href="http://www.oasis-open.org/standards">Oasis Open</a>

+</td>

+</tr>

+</tbody>

+</table>

+</div>

+<div id="navLeft">

+<ul>

+<li>

+<a href="resources.html">Resources</a>

+<br />

+</li>

+<li>

+<a href="../index.html">Home</a>

+</li></ul><hr /><ul>

+<li>

+<a href="index.html">Xalan-C++ 1.11</a>

+</li>

+<li>What's New<br />

+</li>

+<li>

+<a href="license.html">Licenses</a>

+</li></ul><hr /><ul>

+<li>

+<a href="overview.html">Overview</a>

+</li>

+<li>

+<a href="charter.html">Charter</a>

+</li></ul><hr /><ul>

+<li>

+<a href="download.html">Download</a>

+</li>

+<li>

+<a href="buildlibs.html">Build Libraries</a>

+</li>

+<li>

+<a href="install.html">Installation</a>

+</li>

+<li>

+<a href="builddocs.html">Build Documents</a>

+</li></ul><hr /><ul>

+<li>

+<a href="samples.html">Sample Apps</a>

+</li>

+<li>

+<a href="commandline.html">Command Line</a>

+</li>

+<li>

+<a href="usagepatterns.html">Usage Patterns</a>

+</li></ul><hr /><ul>

+<li>

+<a href="programming.html">Programming</a>

+</li>

+<li>

+<a href="extensions.html">Extensions</a>

+</li>

+<li>

+<a href="extensionslib.html">Extensions Library</a>

+</li>

+<li>

+<a href="apiDocs/index.html">API Reference</a>

+</li></ul><hr /><ul>

+<li>

+<a href="faq.html">Xalan-C FAQs</a>

+</li></ul><hr /><ul>

+<li>

+<a href="whatsnew.html#bugs">Bugs</a>

+</li>

+<li>

+<a href="http://xml.apache.org/xalan-j/test/run.html#how-to-run-c">Testing</a>

+</li>

+<li>

+<a href="secureweb.html">Web Security</a>

+</li>

+</ul>

+</div>

+<div id="content">

+<h2>What's New in this Release</h2>

+

+ <ul>

+  <li>

+<a href="#status">Status</a>

+</li>

+  <li>

+<a href="#contact">Getting in Touch</a>

+</li>

+  <li>

+<a href="#history">History of Software Changes</a>

+</li>

+  <li>

+<a href="#bugfix11">Bug Fixes in Release 1.11</a>

+</li>

+  <li>

+<a href="#bugfix10">Bug Fixes in Release 1.10</a>

+</li>

+  <li>

+<a href="#bugs">Bug reporting</a>

+</li>    

+  <li>

+<a href="#to-do">To-do tasks for future Xalan-C/C++ releases</a>

+</li>

+ </ul>

+

+<a name="status">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Status</h3>

+

+<p>

+<b>Release notes for Xalan-C/C++ Version 1.11</b>

+</p>

+<p>This is primarily a bug-fix release of version 1.10.  Support for number and

+nodeset types for stylesheet top-level parameters has been added. Xerces-C/C++

+versions 3.0 and newer are now supported. Xerces-C/C++ Version 3.1.1 is the

+preferred stable release.

+</p>

+<p>At present, the Xalan-C/C++ Version 1.11 has no binary releases. 

+When building Xalan-C/C++ from sources, 

+you should use the same platform that was used to 

+compile the companion Xerces-C/C++ library.

+</p>

+<p>Binary package releases for Microsoft Windows are being planned.

+</p>

+<p>If you are able to successfully create a new binary package and wish it

+to be included, then we welcome your participation on the 

+<a href="mailto:xalan-dev@xml.apache.org">xalan-dev</a> mail list.

+</p>

+<p>Xalan-C/C++ no longer supports Microsoft Studio (VC6).  The Microsoft Visual

+Studio .NET platforms (2003, 2005, 2008, and 2010) are supported.  This equates

+to compilers (VC71, VC8, VC9, and VC10).

+</p>

+

+

+

+<a name="contact">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Getting in Touch</h3>

+<p>Your feedback is more than welcome. Offers of help are even more so! 

+Perhaps you would like to contribute to the ongoing development, 

+testing, or documentation of Xalan-C++.

+</p> 

+<p>Please email your comments, questions, suggestions, bug reports, 

+and offers to help to <a href="mailto:xalan-dev@xml.apache.org">Xalan Development Mailing List</a>.

+</p>

+<p>Your general user comments on Xalan-C++ usage are also welcome on 

+<a href="mailto:xalan-c-users@xml.apache.org">Xalan-C/C++ Users Mailing List</a>.

+</p>

+

+

+<a name="history">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Cumulative history of software changes</h3>

+<p>The following sections list the changes in each release since Xalan-C++ version 0.40.0.</p>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.11</h4>

+<p>This is a general bug fix release with added stability features.</p>

+<p>Major updates since version 1.10 include:</p>

+<ul>

+  <li>Add support for Xerces-C 3.0 and newer</li>

+  <li>Drop support for Microsoft Studio (VC6)</li>

+  <li>Fix support issues for AIX 5.3</li>

+  <li>Fix support issues for Solaris 2.8</li>

+  <li>Fix support issues for GCC-4.3</li>

+  <li>Add support for Microsoft .NET 2008 (VC9) </li>

+  <li>Add support for Microsoft .NET 2010 (VC10)</li>

+  <li>Add number and nodeset types as top-level stylesheet parameters</li>

+  <li>

+<a href="#bugfix11">Bugs fixed in this release</a>.</li>

+</ul>

+

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.10</h4>

+<p>Major updates since version 1.9 include:</p>

+<ul>

+  <li>Support for XML 1.1 and Namespaces in XML 1.1.</li>

+  <li>Added support for IBM XLC 7.0 compiler on AIX.</li>

+  <li>Improved and stabilized C pluggable memory management functionality.</li> 

+  <li>Various improvements in Xalan XML serializers for better performance and stability.</li>

+  <li>Upgrade from Xerces-C 2.6 to Xerces-C 2.7.</li>

+ </ul>  

+  

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.9</h4>

+<p>Major updates since version 1.8 include:</p>

+<ul>

+  <li>Pluggable Memory Management.  This feature allows applications to maintain precise control over memory allocations.  This 

+      will allow users, with knowledge of their application's characteristics, to provide a more efficient allocation method 

+      than the general purpose procedures provided by the system.  for more information on how to use this feature, please see

+      the <a href="programming.html#memory">Pluggable Memory Management</a> section of the Programming page.</li>

+  <li>Improved stability on the execution of large stylesheets and XML documents.  Because the current implementation relies on 

+      function recursion, certain stylesheets/input documents may cause the program stack to overflow and cause the application 

+      to fail.  It also may inhibit executing stylesheets that are heavily dependent on recursive functions.  This feature will 

+      prevent these types of failure. </li>

+  <li>Provided a global option to pool all text node strings.  This feature allows developers to set a flag to determine if a 

+      parsed source tree will pool the values of all of the text nodes in the XML document.  By doing so, this can result in a 

+      significant reduction in memory usage, particularly if there are a lot of repeated values in text nodes.  Please see 

+      the class descriptions for <a href="apiDocs/classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a>,  

+      <a href="apiDocs/classXalanDefaultParsedSource.html">XalanDefaultParsedSource</a>, and

+      <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> in the <a href="apiDocs/index.html">

+      API Reference</a> section for more information.</li> 

+  <li>Added support for Microsoft Studio .NET V7.1.  Project files for Microsoft Studio .NET V7.1 have been provided under the 

+      directory xml-xalan\c\Projects\Win32\VC7.1.</li>

+  <li>Upgrade from Xerces-C 2.5 to Xerces-C 2.6. </li>

+ </ul>  

+

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.8</h4>

+     <p>Major updates since version 1.7 include:</p>

+     <ul>

+      <li>Upgrade from Xerces-C 2.4 to Xerces-C 2.5. </li>

+      <li>Provide build support for Cygwin and HP-UX 11.00 on Itanium.  Although binary distributions are not provided for the Cygwin environment and 

+          HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms. </li>

+      <li>Project files for supporting Microsoft Visual Studio .NET.  Although a binary distribution for the Microsoft Visual Studio .NET 

+          is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build

+          on this platform.  Please see <a href="build_instruct.html#dotNet">"Step for doing a Windows Build with Visual Studio .NET"</a> 

+          for details.</li>

+      <li>Additional changes to Xerces Deprecated DOM support.  This is another step towards phasing out the support for Xerces Deprecated DOM.  Users 

+          are encouraged to modify their applications to interface with the new Xerces DOM support.  For more information on the effects of these 

+          changes to your build environment, please see <a href="#xercesdepdom">"Steps for doing a Build with Xerces Deprecated DOM Support"

+          </a>

+</li>

+      

+      <li>Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.</li>

+      <li>Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes".</li>

+

+     </ul>  

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.7</h4>

+     <p>Major updates since version 1.6 include:</p>

+     <ul>

+      <li>Message Localization Support. This feature enables Xalan-C++ to issue diagnostic messages 

+      in languages other than the default language (English). In order to utilize this feature, 

+      the user must provide a version of the Xalan-C++ message catalog that has been translated in 

+      their language of choice. For more information on how to exploit this feature, please see  

+      <a href="#locale">Steps for doing a Build with Message Localization Support</a>.</li>

+      <li>Build, packaging, and installation improvements. Changes to the Xalan-C++ makefiles now 

+      allow for a more flexible build, packaging, and install process. Each step in a typical 

+      build process can be invoked by specifying the appropriate target, for example to build the 

+      executable, and/or samples, or install the build at user-specified location. For more 

+      information on building Xalan-C++, please see <a href="#unix">Steps for doing a Unix build

+      </a>.</li>

+      <li>Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved 

+      into an exclusive directory within the xalanc/XercesParserLiaison directory called 

+      'Deprecated'. If your application is dependent on these classes to interface with the 

+      deprecated Xerces DOM you must alter your include directive with the 'Deprecated' directory. 

+      For example:<br />

+<br />

+      <code>#include "xalanc/XercesParserLiaison/XercesDocumentBridge.hpp"</code>

+<br />

+<br />

+      should be changed to:<br />

+<br />

+      <code>#include "xalanc/XercesParserLiaison/Deprecated/XercesDocumentBridge.hpp"</code>

+<br />

+<br />

+</li>

+      <li>Upgrade from Xerces-C 2.3 to Xerces-C 2.4. </li>

+      <li>Porting of ThreadSafe example to UNIX platform.</li>

+      <li>Implementation of EXSLT string extension functions encode-uri() and decode-uri(). </li>

+      <li>Implementation of EXSLT dynamic extension function evaluate(). </li>

+      <li>Implementation of EXSLT date-time extension function date-time().</li>

+     </ul>  

+     

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.6</h4>

+     <p>Major updates since version 1.5 include:</p>

+     <ul>

+	<li>Directory "sane include" reorganization.  A new sub-directory called 'xalanc' has been added to the src directory (for source distribution packages) and include directory (for binary distribution packages).  New source files which include Xalan headers will need to be modified to include the 'xalanc' prefix in the header path.  

+            For example: <br />

+<br />

+            <code>#include &lt;XPath/XObject.hpp&gt;</code>

+<br />

+<br />

+            will need to be changed to <br />

+<br />

+            <code>#include &lt;xalanc/XPath/XObject.hpp&gt;</code>

+<br />

+<br />

+            For Windows users, all project files have been modified to reflect this change.  For UNIX users, please see <a href="#unix">Steps for doing a UNIX build</a> for migration considerations.</li>

+     </ul>  

+     

+

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.5</h4>

+     <p>Major updates since version 1.4 include:</p>

+     <ul>

+	<li>For Windows, Xalan-C++ is now packaged as a single DLL.  The project files to build separate DLLs are now deprecated and will not be maintained.</li>

+	<li>Support for Xerces-C++ DOMNode classes.</li>

+	<li>New sample <b>TransformToXercesDOM</b> that illustrates how to perform a transform resulting in a Xerces-C++ DOMDocument</li>

+	<li>Usage of the Xerces-C++ C++ namespace and creation of Xalan-C++ namespace.</li>

+     </ul>  

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.4</h4>

+     <p>Major updates since version 1.3 include:</p>

+     <ul>

+       <li>The Xalan-C++ distributions no longer include the Xerces-C++ headers and libraries. Accordingly, you must download the appropriate Xerces-C++ distribution (see <a href="getstarted.html#download">Downloading what you need</a>.</li>

+       <li>64-bit build for HP-11; <a href="#64">untested 64-bit support</a> for Solaris and AIX.</li>

+       <li>New Linux platform and compiler: Redhat 7.2 with gcc 3.1.</li>

+       <li>

+<a href="http://www.stlport.org/">STLport</a> is no longer required on any of our supported platforms.</li> 

+       <li>

+<a href="extensionslib.html#exslt">Alpha support for a number of EXSLT functions</a>.</li>       

+       <li>

+<a href="samples.html#parsedsourcewrappers">ParsedSourceWrappers</a>, a sample that

+       illustrates how to perform transformations with input in the form of a pre-built

+       XalanDOM or XalanSourceTree.</li>

+     </ul>  

+     

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.3</h4>

+    <p>Major updates since version 1.2 include:</p>

+     <ul>

+       <li>A new and simplified command-line utility: <a href="commandline.html#xalanexe">the Xalan executable</a>

+</li>

+       <li>New XPath samples exploiting the XPathEvaluator C API and illustrating serialization of an XPath result set: <a href="samples.html#simplexpathcapi">SimpleXPathCAPI</a> and <a href="samples.html#serializenodeset">SerializeNodeSet</a>

+</li>

+       <li>A new <a href="usagepatterns.html#xercesdomwrapperparsedsource">wrapper class</a> that lets you pass in a Xerces DOM as input for a transformation</li>

+       <li>Bug fixes.</li>

+       <li>Changed XPathException to XalanXPathException because of a clash with a new Xerces class of the same name.</li>

+      </ul>

+     

+  <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.2</h4>

+    <p>Major updates since version 1.1 include:</p>

+     <ul>

+      <li>

+<a href="extensionslib.html">Introduction of a library of extension functions</a>

+</li>

+      <li>Support for pre-parsed source documents and pre-compiled stylesheets in 

+      <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> and the C API.</li>

+      <li>Support for stylesheet params in <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a> 

+      and the C API</li>

+      <li>Support for extension functions in <a href="apiDocs/classXalanTransformer.html">XalanTransformer</a>

+</li>

+      <li>Performance enhancements</li>

+      </ul>

+     

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.1</h4>

+   <p>In addition to adding to the list of platforms on which Xalan-C++ builds, our focus for this release has been on bug fixes, performance enhancements, 

+      and providing a simplified C++ and C API for performing standard transformations. Major updates since version 1.0 include:</p>

+   <ul>

+     <li>Added HP-UX 11 build.</li>

+     <li>Added Solaris build.</li>

+     <li>Greatly improved performance.</li>

+     <li>Improved conformance to the XSLT specification.</li>

+     <li>Simplified the C++ API and provided a C API for performing standard transformations with the <a href="usagepatterns.html#xalantransformer">XalanTransformer</a> class and associated header files.</li>

+     <li>Added sample illustrating use of XalanTransformer and the new C++ API: 

+         <a href="samples.html#xalantransform">XalanTransform</a>.</li> 

+     <li>Added sample illustrating use of XalanTransformer, the new C API, and how to run Xalan-C++ and perform transformations on an 

+         Apache Web server: <a href="samples.html#apachemodulexslt">ApacheModuleXSLT</a>.</li>

+     <li>Added the <a href="samples.html#streamtransform">StreamTransform</a> sample.</li>

+     <li>Eliminated dependencies on non-public Xerces headers; accordingly can now build with the Xerces distribution.</li>

+     <li>Fixed namespace mapping and inheritance problems.</li>

+     <li>Fixed failure of &lt;copy-of ...&gt; to include CRLFs (if any) in the result.</li>

+     <li>Fixed bug sorting in reverse document order based on position. </li>

+     <li>Fixed &lt;xsl:number&gt; bug with use of letter-value="traditional" for "classical" Greek numbering.</li>

+     <li>Fixed use of &lt;xsl:fallback&gt; within a top-level extension function.</li>

+     <li>Fixed HTML output method bug. The &lt;HEAD&gt; element was not including a &lt;META&gt; tag with the encoding.</li>

+     <li>Fixed bug using key() in match patterns to find descendants.</li>

+     <li>Fixed bug using the id() function in complex match patterns.</li>

+     <li>Fixed problem outputting multiple single-character CDATA sections.</li>

+     <li>Fixed problem outputting whitespace characters.</li>

+     <li>Fixed problem transforming from a stream on UNIX platforms.</li>

+     <li>Fixed a bug with the document() function, which was generating a syntax error if called in the following manner: document(<b>

+<i>string</i>

+</b>,/).</li>

+     <li>Fixed named templates bug accepting global parameter when called with a parameter of the same name that the named template does not 

+         recognize.</li>

+   </ul> 

+   

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 1.0</h4>

+   <p>Major updates since version 0.40.0 include:</p>

+   <ul>

+     <li>Full support for namespace handling</li>

+     <li>Full implementation of the format-number() function and support for the decimal-format element</li>

+     <li>Integration with the <a href="http://oss.software.ibm.com/icu/index.html">International Components for Unicode (ICU)</a> for number formatting, sorting, and output encoding</li>

+     <li>Support for the exclude-result-prefixes attribute</li>

+     <li>Support for the output encoding attribute</li>

+   </ul>

+   

+   <p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h4>Changes for Xalan-C++ version 0.40.0</h4>

+   <p>Major updates since version 0.30.0 include:</p>

+   <ul>

+     <li>Permitting OS file names (as well as URLs) as command-line arguments with TestXSLT</li>

+     <li>Stricter compliance for HTML and XML output</li>

+     <li>Improved handling of relative URI's</li>

+     <li>Improved handling of Import and Include</li>

+     <li>Better namespace handling (although there are still problems here)</li>

+     <li>Support for Document() function</li>

+     <li>Support for XPath predicates</li>

+     <li>ProblemListener with a different output stream and call 

+         XalanTransformer::setProblemListener() before calling XalanTransformer::transform().</li>

+   </ul>

+   

+

+ 

+

+

+<a name="bugfix11">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Bug Fixes in Release 1.11</h3>

+<p>The bugs fixed in Xalan-C++ Version 1.11 include:</p>

+<ul>

+<li>XALANC-723 Add Top-Level parameter support for XalanCAPI and UseStylesheetParams sample</li>

+<li>XALANC-721: Upgrade support for MS VS 2010 (VC10)</li>

+<li>XALANC-719: Xerces Parser Liaison - errors on elements with no attributes</li>

+<li>XALANC-716: incorrect buffer-size calculation in XalanUTF16Writer.hpp</li>

+<li>XALANC-715: NULL pointer access crash</li>

+<li>XALANC-713: Build Xalan-C/C++ API Reference Manual using Doxygen 1.7 or newer</li>

+<li>XALANC-710: MS-Studio 2008 Debug Build sends Xalan-C_1D.lib to wrong directory</li>

+<li>XALANC-709: Doxygen bug in XalanQName.hpp</li>

+<li>XALANC-708: Including XalanCAPI.hpp does not import Xerces typedef XMLch</li>

+<li>XALANC-705:	Crash with pure virtual function call</li>

+<li>XALANC-703:	Compiler errors while building on AIX 5.3</li>

+<li>XALANC-700:	Broken output when serializing UTF16 surrogates</li>

+<li>XALANC-699:	Compile using Visual C++ 2010 (VC10)</li>

+<li>XALANC-698:	Buffer overflow from XalanMessageLoader::load()</li>

+<li>XALANC-690:	The document function does not handle fragment IDs in URLs correctly</li>

+<li>XALANC-689:	XalanC transformation of a 600 kb file takes 43 seconds</li>

+<li>XALANC-684:	XPath single quate-comma bug</li>

+<li>XALANC-683:	xsl:number with level any does not always count all of the preceeding nodes in the document</li>

+<li>XALANC-681:	NamedNodeMapAttributeList constructor asserts when the provided NamedNodeMap is empty</li>

+<li>XALANC-680:	Error in match pattern with // and abbreviated attribute node test</li>

+<li>XALANC-679:	Possible wrong evaluation of abbreviated XPath in template match</li>

+<li>XALANC-677:	Debug assertion switching to HTML mode when the outputter is producing a DOM</li>

+<li>XALANC-675:	No error is reported for an unknown key</li>

+<li>XALANC-675:	GCC-4.3 cleanup</li>

+<li>XALANC-673:	Assertion failed with XalanDOMString::substr</li>

+<li>XALANC-671:	Incorrect handling of default namespace in xsl:element</li>

+<li>XALANC-669:	XalanOtherEncodingWriter reports an incorrect error message</li>

+<li>XALANC-667:	setUseValidation doesn't work</li>

+<li>XALANC-664:	Testing harness writes strings to the output XML in the local code page.</li>

+<li>XALANC-661:	PlatformSupport/DoubleSupport.cpp compile error on AIX 5.3</li>

+<li>XALANC-660:	Compilation errors in Tests/Performance/TestHarness.hpp on some platforms</li>

+<li>XALANC-659:	Unnecessary casting in ReusableArenaBlock</li>

+<li>XALANC-658:	Misplaced assert in ReusableArenaAllocator::destroyObject()</li>

+<li>XALANC-657:	Add Windows x64 targets to the project files</li>

+<li>XALANC-655:	Boolean value incorrectly converted ot string in attribute value templates</li>

+<li>XALANC-653:	Xalan-C not including namespace declaration in output</li>

+<li>XALANC-650:	XPathProcessorImpl uses XalanDOMString copy constructor instead of referring to an existing instance</li>

+<li>XALANC-648:	XalanUTF8Writer::write(const XalanDOMChar*, XalanDOMString::size_type) does not handle surrogates properly</li>

+<li>XALANC-647:	XalanOtherEncodingWriter::writeNumericCharacterReference() is inefficient</li>

+<li>XALANC-646:	During transcoding XalanC fails to append '0' to the transcoded string </li>

+<li>XALANC-645:	Pluggin of DOMStringPrintWriter into FormatterToXML leads to assert</li>

+<li>XALANC-641:	Class used as exception needs accessible copy constructor</li>

+<li>XALANC-640:	Path problem in Makefile under cygwin</li>

+<li>XALANC-638:	Performance test program does not build on HP-UX</li>

+<li>XALANC-635:	Build fails on Solaris 2.8</li>

+<li>XALANC-634:	Build fails with VC6</li>

+<li>XALANC-633:	The processor should ignore xsl:fallback element in LRE </li>

+<li>XALANC-632:	@use-attribute-sets attribute has to have no effect on xsl:copy when the context item is a documen node.</li>

+<li>XALANC-631:	The next stylesheet crashes XalanC</li>

+<li>XALANC-630:	Incorrect cast in XalanUTF16Writer</li>

+<li>XALANC-629:	Performance improvements for text node stripping</li>

+<li>XALANC-628:	Inconsistent flusing of serializers</li>

+<li>XALANC-627:	Broken cast in ElemTemplateElement::findTemplateToTransformChild()</li>

+<li>XALANC-626:	Fix copyrights in Apache XalanC source</li>

+<li>XALANC-625:	Spurious (though harmless) assert failure in XPath::findNodeSet() when an expression contains an empty node-set enclosed in parenthesis</li>

+<li>XALANC-624:	The key() function does not work when the context node is the root node of a result tree fragment obtained through exsl:node-set()</li>

+<li>XALANC-623:	Compatibility issues with Xerces-C 3.0</li>

+<li>XALANC-621:	Selection of compiler definitions file fails on Linux PPC in client code</li>

+<li>XALANC-618:	uninstallExternalFunction can run past the end of the array</li>

+<li>XALANC-617:	Leak in XalanTransformer</li>

+<li>XALANC-616:	xsl:strip-space element doesn't work proprely</li>

+<li>XALANC-615:	Xalan resolves a namespace prefix when it should report an error</li>

+<li>XALANC-614:	MsgCreator Makefile needs link option</li>

+<li>XALANC-613:	Cannot pass value to stylesheet parameter if parameter name is namespace-qualified</li>

+<li>XALANC-609:	Template with built-in template rules for namespaces gives and assert</li>

+<li>XALANC-604:	ConstructWithNoMemoryManager has a bug which prevents proper default initialization of built-in types.</li>

+<li>XALANC-603:	Source does not compile properly on HP-UX with newer versions of the HP compiler</li>

+<li>XALANC-595:	EXSLT date-time function missing + or - before timezone offset</li>

+<li>XALANC-588:	Floating point exceptions in DoubleSupport::initialize() on Solaris 10 (x86)</li>

+<li>XALANC-570: Removal of compiler warnings from STLHelper.hpp</li>

+<li>XALANC-535:	If an error/warning message contains not-displayable character for the local encoding , no message is shown at all</li>

+<li>XALANC-527: Compiling on Xerces-3.0</li>

+<li>XALANC-480:	XML1.1 and Namespaces for XML1.1 support</li>

+<li>XALANC-478:	Add support for XMLEntityResolver</li>

+<li>XALANC-432:	Minor spelling problems in XalanMsg_en_US.xlf</li>

+<li>XALANC-430:	"StylesheetExecutionContext::getVariable(name)" crahes if variable "name" was not found.</li>

+<li>XALANC-421:	omit-xml-declaration ignored</li>

+<li>XALANC-416:	Wrong access to out-of-scope xsl:variable not detected in certain circumstances</li>

+<li>XALANC-415:	Encoding attribute is not returning properly in output XML header</li>

+<li>XALANC-413:	Crash while using transform method on MacOSX</li>

+<li>XALANC-412:	XalanEXSLTDateTime not threadsafe, crashing application</li>

+<li>XALANC-409:	compilation error on g++ on SunOS 2.8</li>

+<li>XALANC-408:	runConfigure help does not include new HP platform</li>

+<li>XALANC-407:	XalanC output format is not suitable as a document entity</li>

+<li>XALANC-376:	Result tree fragment attributes are created without proper namespace and local name </li>

+</ul>

+

+

+<a name="bugfix10">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Bugs Fixed in Release 1.10</h3>

+<p>The bugs fixed in the 1.10 release include:</p>

+<ul>

+  <li>XALANC-572: Compile failure on SuSE80AMD_64b_GCC322 </li>

+  <li>XALANC-569: Compile-time assert on 32-bit Solaris and HPUX due to IEEE754 issue </li>

+  <li>XALANC-568: Pattern "/" does not match the pseudo root document of a node-set obtained from a result-tree fragment via exsl:node-set </li>

+  <li>XALANC-511: Crash during XalanTransformer::initialize on AIX </li>

+  <li>XALANC-554: Xalan-C does not implement erratum 25 </li>

+  <li>XALANC-552: Problems with the new serializers with CDATA and unrepresentable or special characters </li>

+  <li>XALANC-558: Latest source code does not build with the Intel compiler on Windows </li>

+  <li>XALANC-555: XalanEXSLTDateTime.cpp has too many platform-specifc ifdefs </li>

+  <li>XALANC-421: omit-xml-declaration ignored </li>

+  <li>XALANC-529: Xalan-C sometimes creates empty text nodes in RTFs or sends empty characters() events to FormatterListeners </li>

+  <li>XALANC-530: Serializers filter attributes unnecessarily </li>

+  <li>XALANC-245: substring-before and substring-after </li>

+  <li>XALANC-115: Need to catch use of variables in xsl:key attributes </li>

+  <li>XALANC-540: XPath absolute location path does not work when the context node was obtained from a result tree fragment through exsl:node-set() </li>

+  <li>XALANC-544: Assert failure, then crash, during "variable undefined" error recovery in certain circumstances. </li>

+  <li>XALANC-543: Crash when calling a template that wrongly uses xsl:with-param instead of xsl:param to declare its parameter. </li>

+  <li>XALANC-539: XalanMap needs to compact buckets to prevent long search times and ever-increasing memory usage. </li>

+  <li>XALANC-542: XalanDocumentFragmentXNodeSetBaseProxy::dereferenced() is not implemented properly </li>

+  <li>XALANC-538: Better handling for non-existent node test </li>

+  <li>XALANC-541: Fixes for zOS build </li>

+  <li>XALANC-455: Problem when releasing InputSource obtained through an EntityResolver </li>

+  <li>XALANC-535: If an error/warning message contains not-displayable character for the local encoding , no message is shown at all </li>

+  <li>XALANC-532: FormatterToXMLUnicode does not serialize UTF-8 </li>

+  <li>XALANC-536: ElemNumber uses extra temporary strings </li>

+  <li>XALANC-537: XalanC source code quotes incorrectly license protected documents </li>

+  <li>XALANC-526: Use of undefined stricmp breaks compilation on Linux </li>

+  <li>XALANC-513: ICUFormatNumberFunctor has some MemoryManager issues </li>

+  <li>XALANC-507: Safety improvements for XalanVector::insert() </li>

+  <li>XALANC-506: Remove references to stlport directory in Makefile.incl.in </li>

+  <li>XALANC-505: DirectoryEnumerator.hpp will not build on Solaris 10 with Sun Workshop 10 </li>

+  <li>XALANC-502: XalanDOMStringCache has initializer list out of order </li>

+  <li>XALANC-501: Creation of comments and PIs needs to detect illegal values </li>

+  <li>XALANC-500: Remove old "diagnostic" output from StylesheetRoot and XSLTEngineImpl </li>

+  <li>XALANC-497: Local variables or parameters in EXSLT-functions are interpreted as global </li>

+  <li>XALANC-496: Glitches in header files </li>

+  <li>XALANC-493: Problem with XALAN_STATIC_CHECK on HP-UX IA64 </li>

+  <li>XALANC-492: Various pluggable memory management bugs. </li>

+  <li>XALANC-490: XalanFileReporter is inconsistent in its usage of pluggable memory management </li>

+  <li>XALANC-489: XalanMemMgrs has a thread-safety issue </li>

+  <li>XALANC-488: XSLTInputSource does not support pluggable memory management </li>

+  <li>XALANC-487: URISupport does not provide explicit MemoryManager </li>

+  <li>XALANC-485: GCC warns about order of members in initializer list </li>

+  <li>XALANC-484: Remove compiler warnings about placement delete for HP's aCC compiler </li>

+  <li>XALANC-483: XercesParserLiaison does not create Xerces-C DOM instances with namespaces support enabled. </li>

+  <li>XALANC-482: Remove compiler warnings </li>

+  <li>XALANC-470: runConfigure does not pass link options to Makefile for AIX platform </li>

+  <li>XALANC-465: Add alt tag to footer.html page under html/apiDocs tree. </li>

+  <li>XALANC-463: Transforming an XML DOM document encapsulated within an XercesDOMWrapperParsedSource object triggers an invalid heap pointer exception if XSL opens other XML document with 'document()' function. </li>

+  <li>XALANC-460: Linux/xlC port </li>

+  <li>XALANC-448: TestXSLT/process.cpp compilation fails, interface broken in FormatterToText.hpp </li>

+  <li>XALANC-445: generate-id() inserts periods into name which limits usage </li>

+</ul>

+

+

+

+<a name="bugs">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>Bug reporting</h3>

+<p>All known Xalan-C++ bugs are listed in <a href="https://issues.apache.org/jira/browse/XALANC">JIRA (the Apache bug database)</a>. For a list of open bugs with links to each bug

+   report, see <a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;jqlQuery=project+%3D+XALANC+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC">XalanC open bugs</a>. If you find a new bug, please enter a XalanC bug report in this

+   database.</p>

+<table class="note">

+<tr>

+<td class="noteImg">

+<img src="resources/note.gif" alt="note" />

+</td>

+<td class="noteTxt">Before you can enter your first bug report, 

+  you must submit your email address to 

+  <a href="https://issues.apache.org/jira">JIRA</a> 

+  and receive a password.

+</td>

+</tr>

+</table> 

+<p>We strongly encourage you write patches for problems you find and 

+  submit them to JIRA and the

+  <a href="mailto:xalan-dev@xml.apache.org">xalan-dev</a> mailing list. 

+  We review the patches we receive to make sure they do not break   something else, and (assuming they do not) 

+  include them in our next release. 

+  In the interest of fixing bugs, adding enhancements, and 

+  addressing outstanding design issues, we sincerely want

+  (and need!) your active participation in the ongoing development of Xalan.

+</p>

+

+

+<a name="to-do">&#8204;</a>

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+<h3>To-do tasks for future Xalan-C/C++ releases</h3>

+<p>Open bugs:</p>

+<ul>

+<li>The namespace axis does not return the default "xml" namespace.</li>

+<li>Does not support case-order and lang attributes in xsl:sort.</li>

+</ul>

+<p>Items to do:</p>

+<ul>

+<li>Add support for new specifications (XPath-20, XSLT-2.0)</li>

+<li>Add transcoding support using Xerces-C modules</li>

+<li>Add XSLT extension elements</li>

+<li>Add more EXSLT extension functions</li>

+<li>Add the EXSLT document extension function</li>

+<li>Add support for user-defined extension modules</li>

+<li>Add support for node-set to be declared as top-level XSLT parameter</li>

+</ul>

+

+<p align="right" size="2">

+<a href="#content">(top)</a>

+</p>

+</div>

+<div id="footer">Copyright © 1999-2012 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Fri 06/15/2012</div>

+</div>

+</body>

+</html>

diff --git a/docs/xalan/xalan-c/xalan-c-unixdist.gif b/docs/xalan/xalan-c/xalan-c-unixdist.gif
new file mode 100644
index 0000000..0b021d9
--- /dev/null
+++ b/docs/xalan/xalan-c/xalan-c-unixdist.gif
Binary files differ
diff --git a/docs/xalan/xalan-c/xerces-icu.gif b/docs/xalan/xalan-c/xerces-icu.gif
new file mode 100644
index 0000000..06edc50
--- /dev/null
+++ b/docs/xalan/xalan-c/xerces-icu.gif
Binary files differ
diff --git a/stylebook/Xalan-Logos/Xalan-Logo-8x15-tm.png b/stylebook/Xalan-Logos/Xalan-Logo-8x15-tm.png
new file mode 100644
index 0000000..652227c
--- /dev/null
+++ b/stylebook/Xalan-Logos/Xalan-Logo-8x15-tm.png
Binary files differ
diff --git a/stylebook/Xalan-Logos/Xalan-Logo-tm.png b/stylebook/Xalan-Logos/Xalan-Logo-tm.png
new file mode 100644
index 0000000..8d2282e
--- /dev/null
+++ b/stylebook/Xalan-Logos/Xalan-Logo-tm.png
Binary files differ
diff --git a/stylebook/Xalan-Logos/Xalan-Logo.sdr b/stylebook/Xalan-Logos/Xalan-Logo.sdr
new file mode 100644
index 0000000..f890415
--- /dev/null
+++ b/stylebook/Xalan-Logos/Xalan-Logo.sdr
Binary files differ
diff --git a/stylebook/Xalan-Logos/Xalan-Logo.txt b/stylebook/Xalan-Logos/Xalan-Logo.txt
new file mode 100644
index 0000000..a405efc
--- /dev/null
+++ b/stylebook/Xalan-Logos/Xalan-Logo.txt
@@ -0,0 +1,85 @@
+

+The XALAN Logo

+

+Graphic: A stylized version of the African Xalam instrument.

+

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/stylebook/Xalan-Logos/Xalan-Trademark.txt b/stylebook/Xalan-Logos/Xalan-Trademark.txt
new file mode 100644
index 0000000..5f5c264
--- /dev/null
+++ b/stylebook/Xalan-Logos/Xalan-Trademark.txt
@@ -0,0 +1,106 @@
+

+The XALAN Logo - Trademark Description

+--------------------------------------

+

+Prepared By:  

+

+	Steven J. Hathaway

+

+	(shathaway@apache.org)

+

+	September 3, 2011

+

+
+

+Prepared for:

+

+	The Apache Software Foundation

+

+--------------------------------------

+

+Graphic: A stylized version of the African Xalam instrument.

+

+Note: the difference in spelling.

+

+	Xalam is the African Musical Instrument

+	Xalan is the Apache Xalan Software Project

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark symbol)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation (trademark name)

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/stylebook/Xalan-Logos/XalanC-Logo-tm.png b/stylebook/Xalan-Logos/XalanC-Logo-tm.png
new file mode 100644
index 0000000..ba2cd97
--- /dev/null
+++ b/stylebook/Xalan-Logos/XalanC-Logo-tm.png
Binary files differ
diff --git a/stylebook/Xalan-Logos/XalanC-Logo.sdr b/stylebook/Xalan-Logos/XalanC-Logo.sdr
new file mode 100644
index 0000000..6f82fc2
--- /dev/null
+++ b/stylebook/Xalan-Logos/XalanC-Logo.sdr
Binary files differ
diff --git a/stylebook/Xalan-Logos/XalanC-Logo8x15-tm.png b/stylebook/Xalan-Logos/XalanC-Logo8x15-tm.png
new file mode 100644
index 0000000..1f4abf1
--- /dev/null
+++ b/stylebook/Xalan-Logos/XalanC-Logo8x15-tm.png
Binary files differ
diff --git a/stylebook/Xalan-Logos/XalanJ-Logo-tm.png b/stylebook/Xalan-Logos/XalanJ-Logo-tm.png
new file mode 100644
index 0000000..0da8d97
--- /dev/null
+++ b/stylebook/Xalan-Logos/XalanJ-Logo-tm.png
Binary files differ
diff --git a/stylebook/Xalan-Logos/XalanJ-Logo.sdr b/stylebook/Xalan-Logos/XalanJ-Logo.sdr
new file mode 100644
index 0000000..154689d
--- /dev/null
+++ b/stylebook/Xalan-Logos/XalanJ-Logo.sdr
Binary files differ
diff --git a/stylebook/Xalan-Logos/XalanJ-Logo8x15-tm.png b/stylebook/Xalan-Logos/XalanJ-Logo8x15-tm.png
new file mode 100644
index 0000000..3dc775b
--- /dev/null
+++ b/stylebook/Xalan-Logos/XalanJ-Logo8x15-tm.png
Binary files differ
diff --git a/stylebook/css/apache-xalan.css b/stylebook/css/apache-xalan.css
new file mode 100644
index 0000000..fc2fa1a
--- /dev/null
+++ b/stylebook/css/apache-xalan.css
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */

+

+/*

+ * 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.

+*/

+

+/* This (css) stylesheet renders the xhtml web pages that were generated

+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.

+*/

+

+html > bod  {left:0;}

+body {

+/*  background-color: white; */

+  background-color: #f8f8f0;

+  color: black;

+  padding: 0;

+  margin: 0;

+  font-family: arial, "lucida console", san-serif;

+}

+

+/* Emulate table align=center */

+div.centered, td.centered {

+  text-align: center;

+}

+

+div.centered table {

+  margin: 0 auto;

+  text-align: left;

+}

+

+/*

+ * ID Sections

+ */

+

+#content {

+  width: 80%;

+  float: left;

+  font-size: 12pt;

+  padding-top: 1em;

+  padding-left: 5px;

+  margin-left: 10px;

+  border-left: 1px solid #aaa;

+}

+

+#navLeft {

+  clear: left;

+  width: 15%;

+  float: left;

+  padding: 2px;

+  margin-left: 1%;

+  color: red;

+  position: relative;

+  left: 1px;

+  background-color: #eee;

+}

+

+.navGroup {

+  color: Black;

+  font-size: 14pt;

+}

+

+

+#title {

+  color: black;

+  background-color: #eee;

+  text-align: center;

+  border-bottom: 1px solid #aaa;

+  padding: 0;

+  vertical-align: middle;

+}

+

+table.HdrTitle {

+  font-size: 18pt;

+}

+

+table.HdrButtons {

+  font-size: 8pt;

+  background-color: #ccf;

+  align: "center";

+  border: "1";

+

+}

+

+#footer {

+    clear: both;

+    margin: 0 2em;

+    color: #444;

+    background-color: #ddd;

+    text-align: center;

+    padding: .5em 0;

+    font-size: 75%;

+    border-top: 1px solid #aaa;

+}

+

+/*

+ * Anchors

+ */

+

+a {

+  color: blue;

+  text-decoration: undedrline;

+}

+

+a img {

+  border: 0;

+}

+

+a:hover {

+  text-decoration: none;

+  background-color: #d7c9c9;

+}

+

+/*

+ * Headers

+ */

+

+h1 {}

+

+#title h1 {

+  padding: 1px 0;

+  margin: 0;

+  float: right;

+  width: 60%;

+  font-size: 20pt;

+  text-align: center;

+}

+

+#content h1 { background-color: #8af }

+

+h2 {}

+

+#title h2 {

+  font-size: 14pt;

+  width: 60%;

+  text-alignment: center;

+  padding: 1px 0;

+  margin: 0;

+}

+

+#content h2 { background-color: #9bf }

+

+#content h2.year {

+  background-color: #ddd;

+  text-align: center;

+}

+

+h3 {}

+

+#content h3.monthName {

+  background-color: #333;

+  text-align: center;

+}

+

+#content h3 { background-color: #acf }

+

+h4{}

+

+#content h4.eventTitle {

+  margin-left: 1%;

+  border-bottom: 1px solid blue;

+}

+

+#content h4 { background-color: #cdf }

+

+/*

+ * Tables

+ */

+

+th {}

+

+td {}

+

+th.content {background-color: #4BD }

+td.content {background-color: #AEF }

+

+/*

+ * Lists and navLeft

+ */

+

+ul {}

+

+#navLeft ul {

+  list-style-type: none;

+  margin: 0;

+  padding: 0;

+}

+

+#navLeft ul li {

+  margin: 0;

+}

+

+#navLeft ul li p {

+  margin: 0;

+}

+

+#navLeft ul li ul {

+  list-style-type: none;

+  font-size: 90%;

+  margin: 0 2em;

+}

+

+#navLeft ul li ul li {

+  margin: 0;

+}

+

+/*

+ * Paragraphs

+ */

+

+p {}

+

+#navLeft p {

+  text-align: center;

+  padding: 0 auto;

+  margin: 0;

+}

+

+#footer p {

+  padding: 0;

+}

+

+#content p.topalign {

+  vertical-align: middle;

+  height: 2em;

+  text-align: center;

+  width: 100%;

+  padding: .5em;

+  border: 1px solid #ddd;

+}

+

+#content p.topalign img {

+  vertical-align: middle;

+  text-align: text-middle;

+}

+

+#content p.quote {

+  color:black;

+  font-style: italic;

+  font-size: 110%;

+  margin-left: 10%;

+  margin-right: 10%;

+  padding 1em;

+  border: 1px solid #ddd;

+  text-align: center;

+}

+

+#content p.navbar {

+  font-size: 90%;

+  text-align: center;

+  border-top: 1px solid #ddd;

+  border-bottom: 1px solid #ddd;

+}

+

+blockquote {}

+

+blockquote.note {

+  font-size: 80%;

+  border: 1px solid #ddd;

+  background-color: #eee;

+}

+

+td.noteImg {

+  background-color: white;

+  border: 0;

+}

+

+td.noteTxt {

+  background-color: white;

+  font-size: 120%;

+  border: 2px solid #ddd;

+  background-color: #eee;

+}

+

+/**

+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD

+ ** <caution>..</caution> and <warning>..</warning>

+ **

+ * 

+ * td.cautionImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.cautionTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+ * 

+ * td.warningImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.warningTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+**/

+

+

+blockquote.source {

+  font-size: 75%;

+}

+

+code {

+  font-size: 75%;

+}

+

+

+/*

+ * Special Table (note)

+ */

+

+#notediv div { background-color: white }

+

+table.note {

+  width: 90%;

+}

+

+td.noteImg {

+  background-color: white;

+  vertical-align: top;

+  border: 0;

+  width: 24;

+}

+

+td.noteTxt {

+  color: black;

+  background-color: #eee;

+  font-size: 90%;

+  border: 2px solid;

+  border-color: #ccc;

+}

+

+

+/*

+ * Images

+ */

+

+img {}

+

+

+#footer img {

+  border: 0;

+}

+

+

+/*

+ * Document Divisions

+ */

+

+div {}

+

+/*

+ * Pre

+ */

+

+pre {}

+

+

+/*

+ * Generic Classes

+ */

+

+.indented {

+  margin-left: 3%;

+}

+

+.topBanner {

+  float: right;

+  margin: 0;

+  border: 0;

+  vertical-align: middle;

+}

+

+.noborder {

+  border: 0;

+  margin: 0;

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

diff --git a/stylebook/site-construction.txt b/stylebook/site-construction.txt
new file mode 100644
index 0000000..5b5ee38
--- /dev/null
+++ b/stylebook/site-construction.txt
@@ -0,0 +1,86 @@
+

+The XALAN svnsubpub repository:

+

+   http://svn.apache.org/repos/asf/xalan/site/docs/xalan

+

+The XALAN svnsubpub directory tree

+

+   xalan/              -- The Xalan Top-Level Web Pages

+      resources/       css and logo graphics for TLP

+      xalan-c/	       -- The Xalan-C Project Web Pages

+        resources/

+        apiDocs/       doxygen/graphviz constructed api docs

+      xalan-j/         -- The Xalan-J Project Web Pages

+        resources/

+        design/

+          resources/

+        xsltc/

+          resources/

+        apiDocs/       javadoc constructed api docs

+

+The XALAN web page maintenance tree

+

+   http://svn.apache.org/repos/asf/xalan/site/stylebook

+

+      This directory contains the standard stylebook tools

+      that are used to construct the XALAN family of web pages.

+

+   http://svn.apache.org/repos/asf/xalan/site/xdocs

+

+      xdocs/

+        style/

+          dtd/                    -- DTD validation + Entities

+            blocks.ent

+            book.dtd

+            changes.dtd

+            characters.ent

+            document.dtd

+            faqs.dtd

+            links.ent

+            markup.ent

+

+        sources/

+          entities.ent            -- document dependent entities

+          make-book-org.bat       -- main web page constructor

+          make-xalan-org.bat      -- section constructor

+          stylebook.xslt          -- the stylebook transformation

+          xalan-apache-org-site.xml    -- the <book> navigation xml

+

+          xalan-apache-org/       -- the chapter stylebook sources

+          xslt-resources/         -- the css and graphic logos

+

+   Working Directories, NOT SAVED IN SUBVERSION (../bin)(../build/docs)

+

+   http://svn.apache.org/repos/asf/xalan/site/bin/

+

+       -- Contains the xalan.exe program and DLLs

+

+   http://svn.apache.org/repos/asf/xalan/site/build/docs/

+

+       -- Contains the target for web page builds

+

+       build/docs/xalan/          -- The Xalan TLP Web Pages

+       build/docs/xalan/xalan-c/  -- The Xalan-C Project Web Pages

+       build/docs/xalan/xalan-j/  -- The Xalan-J Project Web Pages

+

+NOTE:  The (../build/docs/xalan) can be checked into the repository

+if you wish the pages to be reviewed by others before committing

+them to the actual svnsubpub area for the Xalan projects.

+

+NOTE:  The constructed apiDocs content can be quite large and 

+should not be placed in the (../build/docs/xalan) tree.  Other

+means to review the apiDocs is available (i.e. from a committer's

+web page).

+

+

+PUBLISHING

+

+   After new content in the (../build/docs/) path has been reviewed,

+the files can be moved to the svnsubpub area and checked in.

+

+   https://svn.apache.org/repos/asf/xalan/site/docs/xalan

+

+Apache infrastructure will capture the svn checkin and update the

+network of web servers with the new project content.

+

+

diff --git a/stylebook/style/dtd/blocks.ent b/stylebook/style/dtd/blocks.ent
new file mode 100644
index 0000000..5f352d1
--- /dev/null
+++ b/stylebook/style/dtd/blocks.ent
@@ -0,0 +1,40 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- BLOCKS ENTITY -->

+<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">

+

+<!-- import the external markup.ent dtd -->

+<!ENTITY % markupEntity SYSTEM "markup.ent">

+%markupEntity;

+

+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">

+

+<!ELEMENT p %content;>

+<!ELEMENT note %content;>

+

+<!ELEMENT ul (li|ol|ul)+>

+<!ELEMENT ol (li|ol|ul)+>

+<!ELEMENT li %content;>

+

+<!ELEMENT gloss (label|item)+>

+<!ELEMENT label %content;>

+<!ELEMENT item %content;>

+

+<!ELEMENT source (#PCDATA)>

+

+<!ELEMENT table (tr)+>

+

+<!ELEMENT tr (tn|th|td)+>

+

+<!ELEMENT tn EMPTY>

+<!ATTLIST tn colspan CDATA "1"

+             rowspan CDATA "1">

+

+<!ELEMENT th %content;>

+<!ATTLIST th colspan CDATA "1"

+             rowspan CDATA "1">

+

+<!ELEMENT td %content;>

+<!ATTLIST td colspan CDATA "1"

+             rowspan CDATA "1">

+             
\ No newline at end of file
diff --git a/stylebook/style/dtd/book.dtd b/stylebook/style/dtd/book.dtd
new file mode 100644
index 0000000..820b5f8
--- /dev/null
+++ b/stylebook/style/dtd/book.dtd
@@ -0,0 +1,56 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK BOOK DTD -->

+

+<!-- import the external source-specific dtd -->

+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">

+%externalEntity;

+

+<!ELEMENT book (resources?|document|hidden|faqs|changes|group|external|separator)+>

+<!ATTLIST book title     CDATA #REQUIRED

+               copyright CDATA #IMPLIED>

+               

+<!ELEMENT resources EMPTY>

+<!ATTLIST resources source CDATA #REQUIRED>

+

+<!ELEMENT document EMPTY>

+<!ATTLIST document id     ID    #REQUIRED

+                   source CDATA #REQUIRED

+                   label  CDATA #REQUIRED>

+

+<!ELEMENT hidden EMPTY>

+<!ATTLIST hidden id     ID    #REQUIRED

+                 source CDATA #REQUIRED>

+

+<!ELEMENT faqs EMPTY>

+<!ATTLIST faqs id     ID    #REQUIRED

+               source CDATA #REQUIRED

+               label  CDATA #REQUIRED>

+

+<!ELEMENT changes EMPTY>

+<!ATTLIST changes id     ID    #REQUIRED

+                  source CDATA #REQUIRED

+                  label  CDATA #REQUIRED>

+

+<!-- (entry) not supported in markup, cannot be tested -->

+<!-- (group) not to have entry children, only standard children -->

+<!-- <!ELEMENT group (entry)+> -->

+

+<!ELEMENT group (document|faqs|changes|external)+> 

+<!ATTLIST group id    ID    #IMPLIED

+                label CDATA #REQUIRED>

+

+<!-- (entry) not supported in markup, cannot be tested

+<!ELEMENT entry EMPTY>

+<!ATTLIST entry id     ID    #REQUIRED

+                source CDATA #REQUIRED>

+-->

+

+<!ELEMENT external EMPTY>

+<!ATTLIST external label CDATA #REQUIRED

+                   href  CDATA #REQUIRED>

+                   

+<!ELEMENT separator EMPTY>

+

+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->

+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file
diff --git a/stylebook/style/dtd/changes.dtd b/stylebook/style/dtd/changes.dtd
new file mode 100644
index 0000000..661affa
--- /dev/null
+++ b/stylebook/style/dtd/changes.dtd
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK CHANGES DTD -->

+

+<!-- import the external markup.ent dtd -->

+<!ENTITY % markupEntity SYSTEM "markup.ent">

+%markupEntity;

+

+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">

+

+<!ELEMENT changes (release)+>

+<!ATTLIST changes title CDATA #REQUIRED>

+

+<!ELEMENT release ((features,fixes)|(features)|(fixes))>

+<!ATTLIST release version CDATA #REQUIRED

+                  date    CDATA #IMPLIED>

+

+<!ELEMENT features (feat)+>

+<!ELEMENT fixes (fix)+>

+

+<!ELEMENT feat %content;>

+<!ELEMENT fix %content;>

+

+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file
diff --git a/stylebook/style/dtd/characters.ent b/stylebook/style/dtd/characters.ent
new file mode 100644
index 0000000..036c06d
--- /dev/null
+++ b/stylebook/style/dtd/characters.ent
@@ -0,0 +1,297 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- CHARACTERS ENTITY -->

+

+<!-- Latin A -->

+<!ENTITY nbsp     "&#160;">  <!-- U+00A0 ISOnum    - no-break space = non-breaking space                                   -->

+<!ENTITY iexcl    "&#161;">  <!-- U+00A1 ISOnum    - inverted exclamation mark                                             -->

+<!ENTITY cent     "&#162;">  <!-- U+00A2 ISOnum    - cent sign                                                             -->

+<!ENTITY pound    "&#163;">  <!-- U+00A3 ISOnum    - pound sign                                                            -->

+<!ENTITY curren   "&#164;">  <!-- U+00A4 ISOnum    - currency sign                                                         -->

+<!ENTITY yen      "&#165;">  <!-- U+00A5 ISOnum    - yen sign = yuan sign                                                  -->

+<!ENTITY brvbar   "&#166;">  <!-- U+00A6 ISOnum    - broken bar = broken vertical bar                                      -->

+<!ENTITY sect     "&#167;">  <!-- U+00A7 ISOnum    - section sign                                                          -->

+<!ENTITY uml      "&#168;">  <!-- U+00A8 ISOdia    - diaeresis = spacing diaeresis                                         -->

+<!ENTITY copy     "&#169;">  <!-- U+00A9 ISOnum    - copyright sign                                                        -->

+<!ENTITY ordf     "&#170;">  <!-- U+00AA ISOnum    - feminine ordinal indicator                                            -->

+<!ENTITY laquo    "&#171;">  <!-- U+00AB ISOnum    - left-pointing double angle quotation mark = left pointing guillemet   -->

+<!ENTITY not      "&#172;">  <!-- U+00AC ISOnum    - not sign                                                              -->

+<!ENTITY shy      "&#173;">  <!-- U+00AD ISOnum    - soft hyphen = discretionary hyphen                                    -->

+<!ENTITY reg      "&#174;">  <!-- U+00AE ISOnum    - registered sign = registered trade mark sign                          -->

+<!ENTITY macr     "&#175;">  <!-- U+00AF ISOdia    - macron = spacing macron = overline = APL overbar                      -->

+<!ENTITY deg      "&#176;">  <!-- U+00B0 ISOnum    - degree sign                                                           -->

+<!ENTITY plusmn   "&#177;">  <!-- U+00B1 ISOnum    - plus-minus sign = plus-or-minus sign                                  -->

+<!ENTITY sup2     "&#178;">  <!-- U+00B2 ISOnum    - superscript two = superscript digit two = squared                     -->

+<!ENTITY sup3     "&#179;">  <!-- U+00B3 ISOnum    - superscript three = superscript digit three = cubed                   -->

+<!ENTITY acute    "&#180;">  <!-- U+00B4 ISOdia    - acute accent = spacing acute                                          -->

+<!ENTITY micro    "&#181;">  <!-- U+00B5 ISOnum    - micro sign                                                            -->

+<!ENTITY para     "&#182;">  <!-- U+00B6 ISOnum    - pilcrow sign = paragraph sign                                         -->

+<!ENTITY middot   "&#183;">  <!-- U+00B7 ISOnum    - middle dot = Georgian comma = Greek middle dot                        -->

+<!ENTITY cedil    "&#184;">  <!-- U+00B8 ISOdia    - cedilla = spacing cedilla                                             -->

+<!ENTITY sup1     "&#185;">  <!-- U+00B9 ISOnum    - superscript one = superscript digit one                               -->

+<!ENTITY ordm     "&#186;">  <!-- U+00BA ISOnum    - masculine ordinal indicator                                           -->

+<!ENTITY raquo    "&#187;">  <!-- U+00BB ISOnum    - right-pointing double angle quotation mark = right pointing guillemet -->

+<!ENTITY frac14   "&#188;">  <!-- U+00BC ISOnum    - vulgar fraction one quarter = fraction one quarter                    -->

+<!ENTITY frac12   "&#189;">  <!-- U+00BD ISOnum    - vulgar fraction one half = fraction one half                          -->

+<!ENTITY frac34   "&#190;">  <!-- U+00BE ISOnum    - vulgar fraction three quarters = fraction three quarters              -->

+<!ENTITY iquest   "&#191;">  <!-- U+00BF ISOnum    - inverted question mark = turned question mark                         -->

+<!ENTITY Agrave   "&#192;">  <!-- U+00C0 ISOlat1   - latin capital letter A with grave = latin capital letter A grave      -->

+<!ENTITY Aacute   "&#193;">  <!-- U+00C1 ISOlat1   - latin capital letter A with acute                                     -->

+<!ENTITY Acirc    "&#194;">  <!-- U+00C2 ISOlat1   - latin capital letter A with circumflex                                -->

+<!ENTITY Atilde   "&#195;">  <!-- U+00C3 ISOlat1   - latin capital letter A with tilde                                     -->

+<!ENTITY Auml     "&#196;">  <!-- U+00C4 ISOlat1   - latin capital letter A with diaeresis                                 -->

+<!ENTITY Aring    "&#197;">  <!-- U+00C5 ISOlat1   - latin capital letter A with ring above = latin capital letter A ring  -->

+<!ENTITY AElig    "&#198;">  <!-- U+00C6 ISOlat1   - latin capital letter AE = latin capital ligature AE                   -->

+<!ENTITY Ccedil   "&#199;">  <!-- U+00C7 ISOlat1   - latin capital letter C with cedilla                                   -->

+<!ENTITY Egrave   "&#200;">  <!-- U+00C8 ISOlat1   - latin capital letter E with grave                                     -->

+<!ENTITY Eacute   "&#201;">  <!-- U+00C9 ISOlat1   - latin capital letter E with acute                                     -->

+<!ENTITY Ecirc    "&#202;">  <!-- U+00CA ISOlat1   - latin capital letter E with circumflex                                -->

+<!ENTITY Euml     "&#203;">  <!-- U+00CB ISOlat1   - latin capital letter E with diaeresis                                 -->

+<!ENTITY Igrave   "&#204;">  <!-- U+00CC ISOlat1   - latin capital letter I with grave                                     -->

+<!ENTITY Iacute   "&#205;">  <!-- U+00CD ISOlat1   - latin capital letter I with acute                                     -->

+<!ENTITY Icirc    "&#206;">  <!-- U+00CE ISOlat1   - latin capital letter I with circumflex                                -->

+<!ENTITY Iuml     "&#207;">  <!-- U+00CF ISOlat1   - latin capital letter I with diaeresis                                 -->

+<!ENTITY ETH      "&#208;">  <!-- U+00D0 ISOlat1   - latin capital letter ETH                                              -->

+<!ENTITY Ntilde   "&#209;">  <!-- U+00D1 ISOlat1   - latin capital letter N with tilde                                     -->

+<!ENTITY Ograve   "&#210;">  <!-- U+00D2 ISOlat1   - latin capital letter O with grave                                     -->

+<!ENTITY Oacute   "&#211;">  <!-- U+00D3 ISOlat1   - latin capital letter O with acute                                     -->

+<!ENTITY Ocirc    "&#212;">  <!-- U+00D4 ISOlat1   - latin capital letter O with circumflex                                -->

+<!ENTITY Otilde   "&#213;">  <!-- U+00D5 ISOlat1   - latin capital letter O with tilde                                     -->

+<!ENTITY Ouml     "&#214;">  <!-- U+00D6 ISOlat1   - latin capital letter O with diaeresis                                 -->

+<!ENTITY times    "&#215;">  <!-- U+00D7 ISOnum    - multiplication sign                                                   -->

+<!ENTITY Oslash   "&#216;">  <!-- U+00D8 ISOlat1   - latin capital letter O with stroke = latin capital letter O slash     -->

+<!ENTITY Ugrave   "&#217;">  <!-- U+00D9 ISOlat1   - latin capital letter U with grave                                     -->

+<!ENTITY Uacute   "&#218;">  <!-- U+00DA ISOlat1   - latin capital letter U with acute                                     -->

+<!ENTITY Ucirc    "&#219;">  <!-- U+00DB ISOlat1   - latin capital letter U with circumflex                                -->

+<!ENTITY Uuml     "&#220;">  <!-- U+00DC ISOlat1   - latin capital letter U with diaeresis                                 -->

+<!ENTITY Yacute   "&#221;">  <!-- U+00DD ISOlat1   - latin capital letter Y with acute                                     -->

+<!ENTITY THORN    "&#222;">  <!-- U+00DE ISOlat1   - latin capital letter THORN                                            -->

+<!ENTITY szlig    "&#223;">  <!-- U+00DF ISOlat1   - latin small letter sharp s = ess-zed                                  -->

+<!ENTITY agrave   "&#224;">  <!-- U+00E0 ISOlat1   - latin small letter a with grave = latin small letter a grave          -->

+<!ENTITY aacute   "&#225;">  <!-- U+00E1 ISOlat1   - latin small letter a with acute                                       -->

+<!ENTITY acirc    "&#226;">  <!-- U+00E2 ISOlat1   - latin small letter a with circumflex                                  -->

+<!ENTITY atilde   "&#227;">  <!-- U+00E3 ISOlat1   - latin small letter a with tilde                                       -->

+<!ENTITY auml     "&#228;">  <!-- U+00E4 ISOlat1   - latin small letter a with diaeresis                                   -->

+<!ENTITY aring    "&#229;">  <!-- U+00E5 ISOlat1   - latin small letter a with ring above = latin small letter a ring      -->

+<!ENTITY aelig    "&#230;">  <!-- U+00E6 ISOlat1   - latin small letter ae = latin small ligature ae                       -->

+<!ENTITY ccedil   "&#231;">  <!-- U+00E7 ISOlat1   - latin small letter c with cedilla                                     -->

+<!ENTITY egrave   "&#232;">  <!-- U+00E8 ISOlat1   - latin small letter e with grave                                       -->

+<!ENTITY eacute   "&#233;">  <!-- U+00E9 ISOlat1   - latin small letter e with acute                                       -->

+<!ENTITY ecirc    "&#234;">  <!-- U+00EA ISOlat1   - latin small letter e with circumflex                                  -->

+<!ENTITY euml     "&#235;">  <!-- U+00EB ISOlat1   - latin small letter e with diaeresis                                   -->

+<!ENTITY igrave   "&#236;">  <!-- U+00EC ISOlat1   - latin small letter i with grave                                       -->

+<!ENTITY iacute   "&#237;">  <!-- U+00ED ISOlat1   - latin small letter i with acute                                       -->

+<!ENTITY icirc    "&#238;">  <!-- U+00EE ISOlat1   - latin small letter i with circumflex                                  -->

+<!ENTITY iuml     "&#239;">  <!-- U+00EF ISOlat1   - latin small letter i with diaeresis                                   -->

+<!ENTITY eth      "&#240;">  <!-- U+00F0 ISOlat1   - latin small letter eth                                                -->

+<!ENTITY ntilde   "&#241;">  <!-- U+00F1 ISOlat1   - latin small letter n with tilde                                       -->

+<!ENTITY ograve   "&#242;">  <!-- U+00F2 ISOlat1   - latin small letter o with grave                                       -->

+<!ENTITY oacute   "&#243;">  <!-- U+00F3 ISOlat1   - latin small letter o with acute                                       -->

+<!ENTITY ocirc    "&#244;">  <!-- U+00F4 ISOlat1   - latin small letter o with circumflex                                  -->

+<!ENTITY otilde   "&#245;">  <!-- U+00F5 ISOlat1   - latin small letter o with tilde                                       -->

+<!ENTITY ouml     "&#246;">  <!-- U+00F6 ISOlat1   - latin small letter o with diaeresis                                   -->

+<!ENTITY divide   "&#247;">  <!-- U+00F7 ISOnum    - division sign                                                         -->

+<!ENTITY oslash   "&#248;">  <!-- U+00F8 ISOlat1   - latin small letter o with stroke = latin small letter o slash         -->

+<!ENTITY ugrave   "&#249;">  <!-- U+00F9 ISOlat1   - latin small letter u with grave                                       -->

+<!ENTITY uacute   "&#250;">  <!-- U+00FA ISOlat1   - latin small letter u with acute                                       -->

+<!ENTITY ucirc    "&#251;">  <!-- U+00FB ISOlat1   - latin small letter u with circumflex                                  -->

+<!ENTITY uuml     "&#252;">  <!-- U+00FC ISOlat1   - latin small letter u with diaeresis                                   -->

+<!ENTITY yacute   "&#253;">  <!-- U+00FD ISOlat1   - latin small letter y with acute                                       -->

+<!ENTITY thorn    "&#254;">  <!-- U+00FE ISOlat1   - latin small letter thorn                                              -->

+<!ENTITY yuml     "&#255;">  <!-- U+00FF ISOlat1   - latin small letter y with diaeresis                                   -->

+

+

+<!-- C0 Controls and Basic Latin -->

+<!ENTITY quot     "&#34;">   <!-- U+0022 ISOnum    - quotation mark = APL quote                                            -->

+<!ENTITY amp      "&#38;">   <!-- U+0026 ISOnum    - ampersand                                                             -->

+<!ENTITY lt       "&#60;">   <!-- U+003C ISOnum    - less-than sign                                                        -->

+<!ENTITY gt       "&#62;">   <!-- U+003E ISOnum    - greater-than sign                                                     -->

+

+<!-- Latin Extended-A -->

+<!ENTITY OElig    "&#338;">  <!-- U+0152 ISOlat2   - latin capital ligature OE                                             -->

+<!ENTITY oelig    "&#339;">  <!-- U+0153 ISOlat2   - latin small ligature oe                                               -->

+

+<!-- ligature is a misnomer, this is a separate character in some languages -->

+<!ENTITY Scaron   "&#352;">  <!-- U+0160 ISOlat2   - latin capital letter S with caron                                     -->

+<!ENTITY scaron   "&#353;">  <!-- U+0161 ISOlat2   - latin small letter s with caron                                       -->

+<!ENTITY Yuml     "&#376;">  <!-- U+0178 ISOlat2   - latin capital letter Y with diaeresis                                 -->

+

+<!-- Spacing Modifier Letters -->

+<!ENTITY circ     "&#710;" > <!-- U+02C6 ISOpub    - modifier letter circumflex accent                                     -->

+<!ENTITY tilde    "&#732;" > <!-- U+02DC ISOdia    - small tilde                                                           -->

+

+<!-- General Punctuation -->

+<!ENTITY ensp     "&#8194;"> <!-- U+2002 ISOpub    - en space                                                              -->

+<!ENTITY emsp     "&#8195;"> <!-- U+2003 ISOpub    - em space                                                              -->

+<!ENTITY thinsp   "&#8201;"> <!-- U+2009 ISOpub    - thin space                                                            -->

+<!ENTITY zwnj     "&#8204;"> <!-- U+200C RFC 2070  - zero width non-joiner                                                 -->

+<!ENTITY zwj      "&#8205;"> <!-- U+200D RFC 2070  - zero width joiner                                                     -->

+<!ENTITY lrm      "&#8206;"> <!-- U+200E RFC 2070  - left-to-right mark                                                    -->

+<!ENTITY rlm      "&#8207;"> <!-- U+200F RFC 2070  - right-to-left mark                                                    -->

+<!ENTITY ndash    "&#8211;"> <!-- U+2013 ISOpub    - en dash                                                               -->

+<!ENTITY mdash    "&#8212;"> <!-- U+2014 ISOpub    - em dash                                                               -->

+<!ENTITY lsquo    "&#8216;"> <!-- U+2018 ISOnum    - left single quotation mark                                            -->

+<!ENTITY rsquo    "&#8217;"> <!-- U+2019 ISOnum    - right single quotation mark                                           -->

+<!ENTITY sbquo    "&#8218;"> <!-- U+201A NEW       - single low-9 quotation mark                                           -->

+<!ENTITY ldquo    "&#8220;"> <!-- U+201C ISOnum    - left double quotation mark                                            -->

+<!ENTITY rdquo    "&#8221;"> <!-- U+201D ISOnum    - right double quotation mark,                                          -->

+<!ENTITY bdquo    "&#8222;"> <!-- U+201E NEW       - double low-9 quotation mark                                           -->

+<!ENTITY dagger   "&#8224;"> <!-- U+2020 ISOpub    - dagger                                                                -->

+<!ENTITY Dagger   "&#8225;"> <!-- U+2021 ISOpub    - double dagger                                                         -->

+<!ENTITY permil   "&#8240;"> <!-- U+2030 ISOtech   - per mille sign                                                        -->

+<!ENTITY lsaquo   "&#8249;"> <!-- U+2039 ISO prop. - single left-pointing angle quotation mark                             -->

+

+<!-- lsaquo is proposed but not yet ISO standardized -->

+<!ENTITY rsaquo   "&#8250;"> <!-- U+203A ISO prop. -   single right-pointing angle quotation mark                          -->

+

+<!-- rsaquo is proposed but not yet ISO standardized -->

+<!ENTITY euro     "&#8364;"> <!-- U+20AC NEW       -   euro sign                                                           -->

+

+<!-- Latin Extended-B -->

+<!ENTITY fnof     "&#402;">  <!-- U+0192 ISOtech   - latin small f with hook = function = florin                           -->

+

+<!-- Greek -->

+<!ENTITY Alpha    "&#913;">  <!-- U+0391           - greek capital letter alpha                                            -->

+<!ENTITY Beta     "&#914;">  <!-- U+0392           - greek capital letter beta                                             -->

+<!ENTITY Gamma    "&#915;">  <!-- U+0393 ISOgrk3   - greek capital letter gamma                                            -->

+<!ENTITY Delta    "&#916;">  <!-- U+0394 ISOgrk3   - greek capital letter delta                                            -->

+<!ENTITY Epsilon  "&#917;">  <!-- U+0395           - greek capital letter epsilon                                          -->

+<!ENTITY Zeta     "&#918;">  <!-- U+0396           - greek capital letter zeta                                             -->

+<!ENTITY Eta      "&#919;">  <!-- U+0397           - greek capital letter eta                                              -->

+<!ENTITY Theta    "&#920;">  <!-- U+0398 ISOgrk3   - greek capital letter theta                                            -->

+<!ENTITY Iota     "&#921;">  <!-- U+0399           - greek capital letter iota                                             -->

+<!ENTITY Kappa    "&#922;">  <!-- U+039A           - greek capital letter kappa                                            -->

+<!ENTITY Lambda   "&#923;">  <!-- U+039B ISOgrk3   - greek capital letter lambda                                           -->

+<!ENTITY Mu       "&#924;">  <!-- U+039C           - greek capital letter mu                                               -->

+<!ENTITY Nu       "&#925;">  <!-- U+039D           - greek capital letter nu                                               -->

+<!ENTITY Xi       "&#926;">  <!-- U+039E ISOgrk3   - greek capital letter xi                                               -->

+<!ENTITY Omicron  "&#927;">  <!-- U+039F           - greek capital letter omicron                                          -->

+<!ENTITY Pi       "&#928;">  <!-- U+03A0 ISOgrk3   - greek capital letter pi                                               -->

+<!ENTITY Rho      "&#929;">  <!-- U+03A1           - greek capital letter rho                                              -->

+<!ENTITY Sigma    "&#931;">  <!-- U+03A3 ISOgrk3   - greek capital letter sigma                                            -->

+<!ENTITY Tau      "&#932;">  <!-- U+03A4           - greek capital letter tau                                              -->

+<!ENTITY Upsilon  "&#933;">  <!-- U+03A5 ISOgrk3   - greek capital letter upsilon                                          -->

+<!ENTITY Phi      "&#934;">  <!-- U+03A6 ISOgrk3   - greek capital letter phi                                              -->

+<!ENTITY Chi      "&#935;">  <!-- U+03A7           - greek capital letter chi                                              -->

+<!ENTITY Psi      "&#936;">  <!-- U+03A8 ISOgrk3   - greek capital letter psi                                              -->

+<!ENTITY Omega    "&#937;">  <!-- U+03A9 ISOgrk3   - greek capital letter omega                                            -->

+<!ENTITY alpha    "&#945;">  <!-- U+03B1 ISOgrk3   - greek small letter alpha                                              -->

+<!ENTITY beta     "&#946;">  <!-- U+03B2 ISOgrk3   - greek small letter beta                                               -->

+<!ENTITY gamma    "&#947;">  <!-- U+03B3 ISOgrk3   - greek small letter gamma                                              -->

+<!ENTITY delta    "&#948;">  <!-- U+03B4 ISOgrk3   - greek small letter delta                                              -->

+<!ENTITY epsilon  "&#949;">  <!-- U+03B5 ISOgrk3   - greek small letter epsilon                                            -->

+<!ENTITY zeta     "&#950;">  <!-- U+03B6 ISOgrk3   - greek small letter zeta                                               -->

+<!ENTITY eta      "&#951;">  <!-- U+03B7 ISOgrk3   - greek small letter eta                                                -->

+<!ENTITY theta    "&#952;">  <!-- U+03B8 ISOgrk3   - greek small letter theta                                              -->

+<!ENTITY iota     "&#953;">  <!-- U+03B9 ISOgrk3   - greek small letter iota                                               -->

+<!ENTITY kappa    "&#954;">  <!-- U+03BA ISOgrk3   - greek small letter kappa                                              -->

+<!ENTITY lambda   "&#955;">  <!-- U+03BB ISOgrk3   - greek small letter lambda                                             -->

+<!ENTITY mu       "&#956;">  <!-- U+03BC ISOgrk3   - greek small letter mu                                                 -->

+<!ENTITY nu       "&#957;">  <!-- U+03BD ISOgrk3   - greek small letter nu                                                 -->

+<!ENTITY xi       "&#958;">  <!-- U+03BE ISOgrk3   - greek small letter xi                                                 -->

+<!ENTITY omicron  "&#959;">  <!-- U+03BF NEW       - greek small letter omicron                                            -->

+<!ENTITY pi       "&#960;">  <!-- U+03C0 ISOgrk3   - greek small letter pi                                                 -->

+<!ENTITY rho      "&#961;">  <!-- U+03C1 ISOgrk3   - greek small letter rho                                                -->

+<!ENTITY sigmaf   "&#962;">  <!-- U+03C2 ISOgrk3   - greek small letter final sigma                                        -->

+<!ENTITY sigma    "&#963;">  <!-- U+03C3 ISOgrk3   - greek small letter sigma                                              -->

+<!ENTITY tau      "&#964;">  <!-- U+03C4 ISOgrk3   - greek small letter tau                                                -->

+<!ENTITY upsilon  "&#965;">  <!-- U+03C5 ISOgrk3   - greek small letter upsilon                                            -->

+<!ENTITY phi      "&#966;">  <!-- U+03C6 ISOgrk3   - greek small letter phi                                                -->

+<!ENTITY chi      "&#967;">  <!-- U+03C7 ISOgrk3   - greek small letter chi                                                -->

+<!ENTITY psi      "&#968;">  <!-- U+03C8 ISOgrk3   - greek small letter psi                                                -->

+<!ENTITY omega    "&#969;">  <!-- U+03C9 ISOgrk3   - greek small letter omega                                              -->

+<!ENTITY thetasym "&#977;">  <!-- U+03D1 NEW       - greek small letter theta symbol                                       -->

+<!ENTITY upsih    "&#978;">  <!-- U+03D2 NEW       - greek upsilon with hook symbol                                        -->

+<!ENTITY piv      "&#982;">  <!-- U+03D6 ISOgrk3   - greek pi symbol                                                       -->

+

+<!-- General Punctuation -->

+<!ENTITY bull     "&#8226;"> <!-- U+2022 ISOpub    - bullet = black small circle                                           -->

+<!ENTITY hellip   "&#8230;"> <!-- U+2026 ISOpub    - horizontal ellipsis = three dot leader                                -->

+<!ENTITY prime    "&#8242;"> <!-- U+2032 ISOtech   - prime = minutes = feet                                                -->

+<!ENTITY Prime    "&#8243;"> <!-- U+2033 ISOtech   - double prime = seconds = inches                                       -->

+<!ENTITY oline    "&#8254;"> <!-- U+203E NEW       - overline = spacing overscore                                          -->

+<!ENTITY frasl    "&#8260;"> <!-- U+2044 NEW       - fraction slash                                                        -->

+

+<!-- Letterlike Symbols -->

+<!ENTITY weierp   "&#8472;"> <!-- U+2118 ISOamso   - script capital P = power set = Weierstrass p                          -->

+<!ENTITY image    "&#8465;"> <!-- U+2111 ISOamso   - blackletter capital I = imaginary part                                -->

+<!ENTITY real     "&#8476;"> <!-- U+211C ISOamso   - blackletter capital R = real part symbol                              -->

+<!ENTITY trade    "&#8482;"> <!-- U+2122 ISOnum    - trade mark sign                                                       -->

+<!ENTITY alefsym  "&#8501;"> <!-- U+2135 NEW       - alef symbol = first transfinite cardinal                              -->

+

+<!-- Arrows -->

+<!ENTITY larr     "&#8592;"> <!-- U+2190 ISOnum    - leftwards arrow                                                       -->

+<!ENTITY uarr     "&#8593;"> <!-- U+2191 ISOnum    - upwards arrow                                                         -->

+<!ENTITY rarr     "&#8594;"> <!-- U+2192 ISOnum    - rightwards arrow                                                      -->

+<!ENTITY darr     "&#8595;"> <!-- U+2193 ISOnum    - downwards arrow                                                       -->

+<!ENTITY harr     "&#8596;"> <!-- U+2194 ISOamsa   - left right arrow                                                      -->

+<!ENTITY crarr    "&#8629;"> <!-- U+21B5 NEW       - downwards arrow with corner leftwards = carriage return               -->

+<!ENTITY lArr     "&#8656;"> <!-- U+21D0 ISOtech   - leftwards double arrow                                                -->

+<!ENTITY uArr     "&#8657;"> <!-- U+21D1 ISOamsa   - upwards double arrow                                                  -->

+<!ENTITY rArr     "&#8658;"> <!-- U+21D2 ISOtech   - rightwards double arrow                                               -->

+<!ENTITY dArr     "&#8659;"> <!-- U+21D3 ISOamsa   - downwards double arrow                                                -->

+<!ENTITY hArr     "&#8660;"> <!-- U+21D4 ISOamsa   - left right double arrow                                               -->

+

+<!-- Mathematical Operators -->

+<!ENTITY forall   "&#8704;"> <!-- U+2200 ISOtech   - for all                                                               -->

+<!ENTITY part     "&#8706;"> <!-- U+2202 ISOtech   - partial differential                                                  -->

+<!ENTITY exist    "&#8707;"> <!-- U+2203 ISOtech   - there exists                                                          -->

+<!ENTITY empty    "&#8709;"> <!-- U+2205 ISOamso   - empty set = null set = diameter                                       -->

+<!ENTITY nabla    "&#8711;"> <!-- U+2207 ISOtech   - nabla = backward difference                                           -->

+<!ENTITY isin     "&#8712;"> <!-- U+2208 ISOtech   - element of                                                            -->

+<!ENTITY notin    "&#8713;"> <!-- U+2209 ISOtech   - not an element of                                                     -->

+<!ENTITY ni       "&#8715;"> <!-- U+220B ISOtech   - contains as member                                                    -->

+<!ENTITY prod     "&#8719;"> <!-- U+220F ISOamsb   - n-ary product = product sign                                          -->

+<!ENTITY sum      "&#8721;"> <!-- U+2211 ISOamsb   - n-ary sumation                                                        -->

+<!ENTITY minus    "&#8722;"> <!-- U+2212 ISOtech   - minus sign                                                            -->

+<!ENTITY lowast   "&#8727;"> <!-- U+2217 ISOtech   - asterisk operator                                                     -->

+<!ENTITY radic    "&#8730;"> <!-- U+221A ISOtech   - square root = radical sign                                            -->

+<!ENTITY prop     "&#8733;"> <!-- U+221D ISOtech   - proportional to                                                       -->

+<!ENTITY infin    "&#8734;"> <!-- U+221E ISOtech   - infinity                                                              -->

+<!ENTITY ang      "&#8736;"> <!-- U+2220 ISOamso   - angle                                                                 -->

+<!ENTITY and      "&#8743;"> <!-- U+2227 ISOtech   - logical and = wedge                                                   -->

+<!ENTITY or       "&#8744;"> <!-- U+2228 ISOtech   - logical or = vee                                                      -->

+<!ENTITY cap      "&#8745;"> <!-- U+2229 ISOtech   - intersection = cap                                                    -->

+<!ENTITY cup      "&#8746;"> <!-- U+222A ISOtech   - union = cup                                                           -->

+<!ENTITY int      "&#8747;"> <!-- U+222B ISOtech   - integral                                                              -->

+<!ENTITY there4   "&#8756;"> <!-- U+2234 ISOtech   - therefore                                                             -->

+<!ENTITY sim      "&#8764;"> <!-- U+223C ISOtech   - tilde operator = varies with = similar to                             -->

+<!ENTITY cong     "&#8773;"> <!-- U+2245 ISOtech   - approximately equal to                                                -->

+<!ENTITY asymp    "&#8776;"> <!-- U+2248 ISOamsr   - almost equal to = asymptotic to                                       -->

+<!ENTITY ne       "&#8800;"> <!-- U+2260 ISOtech   - not equal to                                                          -->

+<!ENTITY equiv    "&#8801;"> <!-- U+2261 ISOtech   - identical to                                                          -->

+<!ENTITY le       "&#8804;"> <!-- U+2264 ISOtech   - less-than or equal to                                                 -->

+<!ENTITY ge       "&#8805;"> <!-- U+2265 ISOtech   - greater-than or equal to                                              -->

+<!ENTITY sub      "&#8834;"> <!-- U+2282 ISOtech   - subset of                                                             -->

+<!ENTITY sup      "&#8835;"> <!-- U+2283 ISOtech   - superset of                                                           -->

+<!ENTITY nsub     "&#8836;"> <!-- U+2284 ISOamsn   - not a subset of                                                       -->

+<!ENTITY sube     "&#8838;"> <!-- U+2286 ISOtech   - subset of or equal to                                                 -->

+<!ENTITY supe     "&#8839;"> <!-- U+2287 ISOtech   - superset of or equal to                                               -->

+<!ENTITY oplus    "&#8853;"> <!-- U+2295 ISOamsb   - circled plus = direct sum                                             -->

+<!ENTITY otimes   "&#8855;"> <!-- U+2297 ISOamsb   - circled times = vector product                                        -->

+<!ENTITY perp     "&#8869;"> <!-- U+22A5 ISOtech   - up tack = orthogonal to = perpendicular                               -->

+<!ENTITY sdot     "&#8901;"> <!-- U+22C5 ISOamsb   - dot operator                                                          -->

+

+<!-- Miscellaneous Technical -->

+<!ENTITY lceil    "&#8968;"> <!-- U+2308 ISOamsc   - left ceiling = apl upstile                                            -->

+<!ENTITY rceil    "&#8969;"> <!-- U+2309 ISOamsc   - right ceiling                                                         -->

+<!ENTITY lfloor   "&#8970;"> <!-- U+230A ISOamsc   - left floor = apl downstile                                            -->

+<!ENTITY rfloor   "&#8971;"> <!-- U+230B ISOamsc   - right floor                                                           -->

+<!ENTITY lang     "&#9001;"> <!-- U+2329 ISOtech   - left-pointing angle bracket = bra                                     -->

+<!ENTITY rang     "&#9002;"> <!-- U+232A ISOtech   - right-pointing angle bracket = ket                                    -->

+

+<!-- Geometric Shapes -->

+<!ENTITY loz      "&#9674;"> <!-- U+25CA ISOpub    - lozenge                                                               -->

+

+<!-- Miscellaneous Symbols -->

+<!ENTITY spades   "&#9824;"> <!-- U+2660 ISOpub    - black spade suit                                                      -->

+<!ENTITY clubs    "&#9827;"> <!-- U+2663 ISOpub    - black club suit = shamrock                                            -->

+<!ENTITY hearts   "&#9829;"> <!-- U+2665 ISOpub    - black heart suit = valentine                                          -->

+<!ENTITY diams    "&#9830;"> <!-- U+2666 ISOpub    - black diamond suit                                                    -->

+

+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->

+

+<!-- Portions (C) International Organization for Standardization 1986

+     Permission to copy in any form is granted for use with

+     conforming SGML systems and applications as defined in

+     ISO 8879, provided this notice is included in all copies. -->

diff --git a/stylebook/style/dtd/document.dtd b/stylebook/style/dtd/document.dtd
new file mode 100644
index 0000000..f7cf5b1
--- /dev/null
+++ b/stylebook/style/dtd/document.dtd
@@ -0,0 +1,19 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK DOCUMENT DTD -->

+

+<!-- import the external blocks.ent dtd -->

+<!ENTITY % blocksEntity SYSTEM "blocks.ent">

+%blocksEntity;

+

+<!ELEMENT s1 (s2|%blocks;)*>

+<!ELEMENT s2 (s3|%blocks;)*>

+<!ELEMENT s3 (s4|%blocks;)*>

+<!ELEMENT s4 (%blocks;)*>

+

+<!ATTLIST s1 title CDATA #REQUIRED>

+<!ATTLIST s2 title CDATA #REQUIRED>

+<!ATTLIST s3 title CDATA #REQUIRED>

+<!ATTLIST s4 title CDATA #REQUIRED>

+

+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
\ No newline at end of file
diff --git a/stylebook/style/dtd/faqs.dtd b/stylebook/style/dtd/faqs.dtd
new file mode 100644
index 0000000..4b24206
--- /dev/null
+++ b/stylebook/style/dtd/faqs.dtd
@@ -0,0 +1,25 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK FAQS DTD -->

+

+<!-- import the external blocks.ent dtd -->

+<!ENTITY % blocksEntity SYSTEM "blocks.ent">

+%blocksEntity;

+

+<!ELEMENT faqs (group,faq)+>

+<!ATTLIST faqs title CDATA #REQUIRED>

+

+<!-- XALAN-J: (group) Allow for grouping of faqs -->

+

+<!ELEMENT group (faq)*>

+<!ATTLIST group title CDATA #REQUIRED>

+

+<!-- Allow multiple Answers for a given FAQ Question -->

+<!ELEMENT faq (q,a+)>

+<!ATTLIST faq title CDATA #IMPLIED>

+

+<!ELEMENT q (#PCDATA)>

+<!ELEMENT a (%blocks;)+>

+

+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->

+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file
diff --git a/stylebook/style/dtd/links.ent b/stylebook/style/dtd/links.ent
new file mode 100644
index 0000000..63b002f
--- /dev/null
+++ b/stylebook/style/dtd/links.ent
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- LINKS ENTITY -->

+<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">

+

+<!ELEMENT anchor EMPTY>

+<!ATTLIST anchor name NMTOKEN #REQUIRED>

+

+<!ELEMENT img EMPTY>

+<!ATTLIST img src CDATA #REQUIRED

+              alt CDATA #REQUIRED>

+

+<!ELEMENT link (#PCDATA|img)*>

+<!ATTLIST link idref NMTOKEN #IMPLIED

+               anchor CDATA  #IMPLIED>

+

+<!ELEMENT jump (#PCDATA|img)*>

+<!ATTLIST jump href CDATA #REQUIRED>

+

+<!-- cross-reference resource elements -->

+<!ELEMENT resource-ref 		EMPTY>

+<!ATTLIST resource-ref 		idref CDATA #REQUIRED>

+<!ELEMENT human-resource-ref 	EMPTY>

+<!ATTLIST human-resource-ref 	 idref CDATA #REQUIRED>
\ No newline at end of file
diff --git a/stylebook/style/dtd/markup.ent b/stylebook/style/dtd/markup.ent
new file mode 100644
index 0000000..66319e5
--- /dev/null
+++ b/stylebook/style/dtd/markup.ent
@@ -0,0 +1,21 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- MARKUP ENTITY -->

+<!ENTITY % markup "em|ref|code|br">

+

+<!-- import the external source-specific dtd -->

+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">

+%externalEntity;

+<!-- import the external charecters.ent dtd -->

+<!ENTITY % charEntity SYSTEM "characters.ent">

+%charEntity;

+<!-- import the external links.ent dtd -->

+<!ENTITY % linksEntity SYSTEM "links.ent">

+%linksEntity;

+

+<!ELEMENT em (#PCDATA|%links;)*>

+<!ELEMENT ref (#PCDATA|%links;)*>

+<!ELEMENT code (#PCDATA|%links;|ref)*>

+<!ELEMENT br EMPTY>

+

+<!-- CVS $Revision: 1.2 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file
diff --git a/stylebook/stylebook-HowTo.txt b/stylebook/stylebook-HowTo.txt
new file mode 100644
index 0000000..687b71f
--- /dev/null
+++ b/stylebook/stylebook-HowTo.txt
@@ -0,0 +1,78 @@
+

+STYLEBOOK  DOCUMENT  MARKUP

+

+The Apache Stylebook is a basic XML markup format from which documentation

+web pages can be created.

+

+The original stylebook processor was a java program and implemented the

+functionality of a specialized URL type.  The old URL prefix has been

+replaced by a relative path by which to locate the validating doctype

+definitions.

+

+Web pages are now created using a "stylebook.xslt" stylesheet and a

+standards compliant XSLT command line processor. The "xalan.exe" program

+is called by Windows command (.BAT) files to create the web pages.

+

+The "xalan" executable on Linux or Unix systems can also be used with

+shell scripts.

+

+The current set of web pages are constructed on Windows platforms.

+

+The "stylbook.xslt" transformation remains faithful to the test examples

+that are part of the Java stylebook program.

+

+The constructed web pages are rendered using the "apache-xalan.css"

+cascading stylesheet for modern web browsers.

+

+Care has been taken to make the web pages highly scalable to accommodate

+both high-resolution desktops and low-resolution display tablets.  Tests

+have also shown that pages are useful with browsers do not use cascading

+stylesheets.

+

+New features can be added to the "stylebook.xml" when needed.

+

+Display rendering is controlled by the "apache-xalan.css" cascading

+stylesheet.  New display renderings can be placed here.

+

+The web pages are generated as strict XHTML, but care has been taken to

+insert some non-breaking whitespace for specific elements when needed so 

+that they do not collapse. Token collapsing causes many HTML browsers to

+misbehave.

+

+Tables are implemented with scalable column widths to accommodate a wide

+variety of display resolutions.

+

+-------------------------------------------------------------

+

+The left-panel navigation is handled by an XML document containing

+the <book/> document element.

+

+Most of the XML documents define book sections.  There is a special

+section format for frequently asked questions.

+

+  +-------------------------------------------------------------------+

+  +  LOGO-GRAPHIC  |               PROJECT-TITLE                      | Div = "title"

+  +  <graph-Link>  |           Project Subtitle Line                  |

+  +-------------------------------------------------------------------|

+  |            [Link 1][Link 2][Link 3][Link 4][Link 5]               |

+  +===================================================================+

+  |  Div =     |                                                      |

+  | "navLeft"  |           Div = "content"                            |

+  |            |                                                      |

+  | Contents   |   The section heads have ending links to [top]       |

+  | from       |                                                      |

+  | <book>     |                                                      |

+  | element    |                                                      |

+  |            |                                                      |

+  +===================================================================+

+  |     Div = "footer"   Contains copyright information               |

+  +-------------------------------------------------------------------+

+

+

+  The book XML references the book.dtd which also brings in the entities.ent

+  file for document specific general entity definitions.

+

+

+

+

+

diff --git a/stylebook/stylebook.xslt b/stylebook/stylebook.xslt
new file mode 100644
index 0000000..c27d351
--- /dev/null
+++ b/stylebook/stylebook.xslt
@@ -0,0 +1,988 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+ * 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 html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
+* "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+-->
+
+<xsl:output  method="xml" version="1.0" indent="yes"
+  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+  omit-xml-declaration="no"
+  encoding="ISO-8859-1"
+  standalone="no"
+/>
+
+<!-- THE TOP-LEVEL PARAMETERS 
+
+  logoimage   = resource image for active logo (resources/asf_logo.png)
+  logolink    = logo active hyperlink          (http://xalan.apache.org)
+  logowidth   = width of trademark logo in pixels
+  logoheight  = height of tracemark logo in pixels
+
+  bookxml     = path to the book.xml for navigation and book title
+  booklink    = path to the index.html for the book
+
+  sectionid   = basename of the source xml file without the (.xml) extension.
+  createdate  = date that this stylesheet is used.
+
+  xmlsources  = directory where project sources reside
+
+ ===============
+
+  Building a documentation web page using a commandline XSLTt transformation program
+
+  EXSLT -p sectionid='getstarted' -p createdate='Aug 7, 2011'
+    -p logoimage='resources/xalan-logo.png'
+    -p logolink='http://xalan.apache.org'
+    -p logowidth='144'
+    -p logoheight='75'
+    -p bookxml='xalan.xml'
+    -p booklink='index.html'
+    xalan\documentfile.xml  xalan-manual.xslt  ..\html\documentfile.html
+-->
+
+<xsl:param name="logoimage">resources/asf_logo.png</xsl:param>
+<xsl:param name="logolink">http://www.apache.org</xsl:param>
+<xsl:param name="logowidth">144</xsl:param>
+<xsl:param name="logoheight">75</xsl:param>
+
+<xsl:param name="bookxml">xalan.xml</xsl:param>
+<xsl:param name="booklink">index.html</xsl:param>
+
+<xsl:param name="sectionid">index</xsl:param>
+<xsl:param name="createdate"/>
+
+<xsl:param name="xmlsources">xalan</xsl:param>
+
+
+<!-- THE ROOT TEMPLATE TO BUILD ASF STYLEBOOK WEB PAGE -->
+
+<xsl:template match="/">
+
+<!-- CONSTRUCT A BOOK TITLE FROM THE REFERENCED BOOK XML -->
+
+  <xsl:variable name="booktitle">
+    <xsl:value-of select='document($bookxml)/book/@title'/>
+  </xsl:variable>
+
+
+<!-- CONSTRUCT A BOOK SUBTITLE TITLE FROM SOURCE XML PROPERTIES -->
+
+  <xsl:variable name="xalantitle">
+    <xsl:choose>
+      <xsl:when test="s1/@title">
+        <xsl:value-of select="s1/@title"/>
+      </xsl:when>
+      <xsl:when test="s2/@title">
+        <xsl:value-of select="s2/@title"/>
+      </xsl:when>
+      <xsl:when test="s3/@title">
+        <xsl:value-of select="s3/@title"/>
+      </xsl:when>
+      <xsl:when test="faqs">
+        <xsl:choose>
+          <xsl:when test="faqs/@title">
+            <xsl:value-of select="faqs/@title"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Frequently Asked Questions</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:text>Resources</xsl:text>
+      </xsl:when>
+      <xsl:when test="changes/@title">
+        <xsl:value-of select="changes/@title"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>DEBUG - xalantitle not found</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+<xsl:element name='html'>
+  <xsl:element name='head'>
+    <xsl:element name='title'>
+      <xsl:value-of select="concat('ASF: ',$xalantitle)"/>
+    </xsl:element><!--/title-->
+    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <link rel="stylesheet" type="text/css" href="resources/apache-xalan.css"/>
+  </xsl:element><!--/head-->
+
+<!-- PUT IN THE APACHE SOFTWARE FOUNDATION LICENSING STATEMENT -->
+ <xsl:comment>
+ * 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.
+ </xsl:comment>
+
+ <body>
+   <!-- THE TITLE SECTION -->
+
+   <xsl:call-template name="doTitle">
+     <xsl:with-param name="headtitle">
+       <xsl:value-of select="$booktitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headtitlelink">
+       <xsl:value-of select="$booklink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headsubtitle">
+       <xsl:value-of select="$xalantitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoimg">
+       <xsl:value-of select="$logoimage"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogolink">
+       <xsl:value-of select="$logolink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoheight">
+       <xsl:value-of select="$logoheight"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogowidth">
+       <xsl:value-of select="$logowidth"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE NAVIGATION SECTION -->
+
+   <xsl:call-template name="doLeftNav">
+     <xsl:with-param name="sectparm">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE MAIN CONTENT SECTION -->
+
+   <xsl:call-template name="doContent">
+     <xsl:with-param name="mysectionid">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE COPYRIGHT FOOTER -->
+
+   <xsl:call-template name="doFooter">
+     <xsl:with-param name="releaseinfo">
+       <xsl:text>Web Page created on - </xsl:text>
+       <xsl:value-of select="$createdate"/>
+     </xsl:with-param>
+   </xsl:call-template>
+ </body>
+</xsl:element><!--html-->
+</xsl:template>
+
+
+<!-- DEBUG TEMPLATE -->
+<xsl:template name="DEBUG">
+  <xsl:param name="theText"/>
+  <xsl:param name="theNode"/>
+  <xsl:element name="DEBUG">
+    <xsl:element name="DEBUGTEXT">
+      <xsl:value-of select="$theText"/>
+    </xsl:element>
+    <xsl:if test="$theNode">
+      <xsl:element name="DEBUGNODES">
+        <xsl:copy-of select="$theNode"/>
+      </xsl:element>
+    </xsl:if>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doTitle">
+  <xsl:param name="headtitle">XML StyleBook Example</xsl:param>
+  <xsl:param name="headtitlelink">index.html</xsl:param>
+  <xsl:param name="headsubtitle">Documentation Test Example</xsl:param>
+  <xsl:param name="headlogoimg">resources/asf_logo.png</xsl:param>
+  <xsl:param name="headlogolink">http://www.apache.org</xsl:param>
+  <xsl:param name="headlogoheight"><xsl:value-of select="$logoheight"/></xsl:param>
+  <xsl:param name="headlogowidth"><xsl:value-of select="$logowidth"/></xsl:param>
+  <xsl:element name="div">
+    <xsl:attribute name="id">
+       <xsl:text>title</xsl:text>
+    </xsl:attribute>
+    <table class="HdrTitle">
+    <tbody>
+    <tr>
+     <th rowspan="2">
+      <xsl:element name='a'>
+        <xsl:attribute name='href'><xsl:value-of select='$headlogolink'/></xsl:attribute>
+        <xsl:element name='img'>
+          <xsl:attribute name='alt'><xsl:text>Trademark Logo</xsl:text></xsl:attribute>
+          <xsl:attribute name='src'><xsl:value-of select="$headlogoimg"/></xsl:attribute>
+          <xsl:attribute name='width'><xsl:value-of select="$headlogowidth"/></xsl:attribute>
+          <xsl:attribute name='height'><xsl:value-of select="$headlogoheight"/></xsl:attribute>
+        </xsl:element><!-- img -->
+      </xsl:element><!-- a -->
+     </th>
+     <th text-align="center" width="75%">
+       <xsl:element name='a'>
+         <xsl:attribute name='href'>
+           <xsl:value-of select="$headtitlelink"/>
+         </xsl:attribute>
+         <xsl:value-of select="$headtitle"/>
+       </xsl:element><!-- a -->
+     </th>
+    </tr>
+    <tr>
+     <td valign="middle"><xsl:value-of select="$headsubtitle"/></td>
+    </tr>
+    </tbody>
+    </table>
+
+<!--  </xsl:element> -->
+
+<!-- Useful Emulation of Project Header Buttons -->
+
+<!-- <table class="HdrButtons"> -->
+
+    <table class="HdrButtons" align="center" border="1">
+     <tbody>
+      <tr>
+       <td><a href="http://www.apache.org">Apache Foundation</a></td>
+       <td><a href="http://xalan.apache.org">Xalan Project</a></td>
+       <td><a href="http://xerces.apache.org">Xerces Project</a></td>
+       <td><a href="http://www.w3.org/TR">Web Consortium</a></td>
+       <td><a href="http://www.oasis-open.org/standards">Oasis Open</a></td>
+      </tr>
+     </tbody>
+    </table>
+  </xsl:element>
+<!-- -->
+
+</xsl:template>
+
+
+<xsl:template name="doLeftNav">
+<xsl:param name="sectparm" select="''"/>
+<xsl:element name="div">
+  <xsl:attribute name="id">navLeft</xsl:attribute>
+  <ul>
+  <xsl:for-each select="document($bookxml)/book/*">
+    <xsl:if test="name(.)!='hidden'">
+    <xsl:choose>
+      <xsl:when test="name(.)='external'">
+        <li>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@href"/>
+          </xsl:attribute>
+          <xsl:value-of select="@label"/>
+        </xsl:element>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='resources'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'resources'">
+            <a href="resources.html">Resources</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Resources</xsl:text><br/>
+        </xsl:otherwise>
+      </xsl:choose>
+      </li>
+      </xsl:when>
+      <xsl:when test="name(.)='changes'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'changes'">
+            <a href="changes.html">Changes</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Changes</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='separator'">    <!--  </ul>   <hr/>      <ul> -->
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;&lt;hr /&gt;&lt;ul&gt;</xsl:text>
+      </xsl:when>
+      <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != string(@id)">
+            <xsl:element name="a">
+              <xsl:attribute name="href">
+                <xsl:value-of select="concat(@id,'.html')"/>
+              </xsl:attribute>
+              <xsl:value-of select="@label"/>
+            </xsl:element>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="@label"/><br/>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+
+
+      <xsl:when test="name(.)='group'">
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;</xsl:text>
+        <xsl:element name="p">
+          <xsl:attribute name="class">navGroup</xsl:attribute>
+          <em><xsl:value-of select="@label"/></em>
+        </xsl:element>
+        <xsl:text disable-output-escaping="yes">&lt;ul&gt;</xsl:text>
+
+        <xsl:for-each select="./*"> 
+          <xsl:choose>
+
+            <xsl:when test="name(.)='external'">
+              <li>
+              <xsl:element name="a">
+                <xsl:attribute name="href">
+                  <xsl:value-of select="@href"/>
+                </xsl:attribute>
+                <xsl:value-of select="@label"/>
+              </xsl:element>
+              </li>
+            </xsl:when>
+            <xsl:when test="name(.)='resources'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'resources'">
+                  <a href="resources.html">Resources</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Resources</xsl:text><br/>
+              </xsl:otherwise>
+            </xsl:choose>
+            </li>
+            </xsl:when>
+            <xsl:when test="name(.)='changes'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'changes'">
+                  <a href="changes.html">Changes</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Changes</xsl:text>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+            <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != string(@id)">
+                  <xsl:element name="a">
+                    <xsl:attribute name="href">
+                      <xsl:value-of select="concat(@id,'.html')"/>
+                    </xsl:attribute>
+                    <xsl:value-of select="@label"/>
+                  </xsl:element>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:value-of select="@label"/><br/>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+
+
+            <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <group> element -->
+-->
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <book> element -->
+-->
+      </xsl:otherwise>
+    </xsl:choose>
+    </xsl:if> <!-- not hidden -->
+  </xsl:for-each>
+  </ul>
+</xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doContent">
+  <xsl:element name="div">
+    <xsl:attribute name="id">content</xsl:attribute>
+    <xsl:choose>
+      <xsl:when test="faqs">
+        <xsl:for-each select="faqs">
+          <xsl:call-template name="doFaqDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:for-each select="resources">
+          <xsl:call-template name="doResDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="changes">
+        <xsl:for-each select="changes">
+          <xsl:call-template name="doChangesDoc"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doFooter">
+  <xsl:param name="releaseinfo"/>
+  <xsl:element name="div">
+    <xsl:attribute name="id">footer</xsl:attribute>
+    <!-- copyright byline information -->
+    <!-- &#169; is the (c) copyright symbol -->
+    <xsl:text>Copyright &#169; 1999-2012 The Apache Software Foundation</xsl:text><br/>
+    <xsl:text>Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation</xsl:text>
+    <xsl:element name="div">
+      <xsl:attribute name="class">small</xsl:attribute>
+      <xsl:value-of select="$releaseinfo"/>
+    </xsl:element>
+  </xsl:element>
+</xsl:template>
+
+
+<!-- 
+  getPrevFaqCount returns the number of <faq> elements found in the previous <group>s 
+  Used to create sequential ID numbers across <faq> groups for titles and anchors.
+-->
+
+<xsl:template name="getPrevFaqCount">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:variable name="faqcount">
+    <xsl:choose>
+      <xsl:when test="$mygroup &lt;= 1">0</xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="subcount">
+          <xsl:call-template name="getPrevFaqCount">
+            <xsl:with-param name="mygroup" select="$mygroup - 1"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:value-of select="$subcount + count(./group[position()= ($mygroup - 1)]/faq)"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:value-of select="$faqcount"/>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Questions section -->
+
+<xsl:template name="groupFaqQuestions">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <h3><xsl:value-of select="./group[position()=$mygroup]/@title"/></h3>
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+
+<!-- list must have at least one faq -->
+      <xsl:if test="./faq[position()=1]">
+        <xsl:element name="ol">
+          <xsl:attribute name="start">
+            <xsl:value-of select="$prevfaqs + 1"/>
+          </xsl:attribute>
+          <xsl:call-template name="doFaqTitles">
+            <xsl:with-param name="faqNbr"><xsl:value-of select="$prevfaqs + 1"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:element>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqQuestions">
+      <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup + 1"/></xsl:with-param>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Answers section -->
+
+<xsl:template name="groupFaqAnswers">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+      <xsl:if test="./faq[position()=1]">
+        <xsl:call-template name="doFaqContent">
+          <xsl:with-param name="faqNbr" select="$prevfaqs + 1"/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqAnswers">
+      <xsl:with-param name="mygroup" select="$mygroup + 1"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+
+<!-- Updated to accommodate faq groups for XALAN-J -->
+
+<xsl:template name="doFaqDocument">
+  <h2 class="faqSubHead">Questions</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqQuestions"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:if test="./faq[position()=1]">
+        <ol start="1">
+           <xsl:call-template name="doFaqTitles"/>
+        </ol>
+      </xsl:if>
+    </xsl:otherwise>
+  </xsl:choose>
+  <h2 class="faqSubHead">Answers</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqAnswers"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:call-template name="doFaqContent"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="doFaqTitles">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+  <xsl:if test="faq[position()=$myNbr]">
+    <!-- output the title reference -->
+    <li>
+    <xsl:element name="a">
+      <xsl:attribute name="href">
+        <xsl:value-of select="concat('#faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:value-of select="faq[position()=$myNbr]/@title"/>
+    </xsl:element>
+    </li>
+    <!-- get the next faq if any -->
+    <xsl:call-template name="doFaqTitles">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="doFaqContent">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+
+  <xsl:if test="faq[position()=$myNbr]">            <!-- output content of this element only -->
+
+<!--  <h3><xsl:value-of select="faq[position()=$myNbr]/@title"/></h3>     -->
+
+    <xsl:element name="h3">
+      <xsl:attribute name="id">
+        <xsl:value-of select="concat('faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:attribute name="class">
+        <xsl:text>faqTitle</xsl:text>
+      </xsl:attribute>
+      <xsl:value-of select="concat($faqNbr, '. ', faq[position()=$myNbr]/@title)"/>
+    </xsl:element>
+
+<!--  The FAQ Text Part                            -->
+    <xsl:for-each select="faq[position()=$myNbr]/*">      <!-- children of 'faq' -->
+      <xsl:choose>
+        <xsl:when test="name(.)='q'">                  <!-- The Question Text -->
+          <div class="faqQuestion">
+            <xsl:apply-templates/>               <!-- children of 'q' -->
+          </div>
+        </xsl:when>
+        <xsl:when test="name(.)='a'">                  <!-- The Answer Text -->
+          <br/>
+          <hr/>
+          <div class="faqAnswer">
+            <xsl:apply-templates/>               <!-- children of 'a' -->
+          </div>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+
+    <xsl:call-template name="goToTop"/>
+
+<!--  Recurse for next faq item                    -->
+    <xsl:call-template name="doFaqContent">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="goToTop">
+  <p align="right" size="2">
+    <a href="#content">(top)</a>
+  </p>
+</xsl:template>
+
+
+<xsl:template name="doResDocument">
+  <xsl:for-each select="resource|human-resource">
+    <xsl:choose>
+      <xsl:when test="name(.)='resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@title"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@title"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@location"/>
+          </xsl:attribute>
+          <xsl:value-of select="@location"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+      <xsl:when test="name(.)='human-resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@name"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@name"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',@mailto)"/>
+          </xsl:attribute>
+          <xsl:value-of select="concat('mailto:',@mailto)"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="doChangesDoc">
+  <!-- context is <changes> element -->
+  <xsl:for-each select="release">
+    <h3 class="chgRelease">
+      <xsl:value-of select="concat('Release ',@version,' (',@date,')')"/>
+    </h3>
+    <xsl:if test="features">
+      <h4 class="chgFeatures"><xsl:text>Features</xsl:text></h4>
+      <xsl:for-each select="features">
+        <ul>
+          <xsl:for-each select="feat">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:if test="fixes">
+      <h4 class="chgFixes"><xsl:text>Bug Fixes</xsl:text></h4>
+      <xsl:for-each select="fixes">
+        <ul>
+          <xsl:for-each select="fix">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:call-template name="goToTop"/>
+  </xsl:for-each>
+</xsl:template>
+
+<!-- THE MATCHING TEMPLATE RULES -->
+
+<xsl:template match="s1">
+  <h2><xsl:value-of select="@title"/></h2>
+  <xsl:apply-templates/>
+  <xsl:call-template name="goToTop"/>
+</xsl:template>
+
+<xsl:template match="s2">
+  <xsl:call-template name="goToTop"/>
+  <h3><xsl:value-of select="@title"/></h3>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s3">
+  <xsl:call-template name="goToTop"/>
+  <h4><xsl:value-of select="@title"/></h4>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s4">
+  <h5><xsl:value-of select="@title"/></h5>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<!--<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">-->
+
+<xsl:template match="p">
+  <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="ul">
+  <ul><xsl:apply-templates/></ul>
+</xsl:template>
+
+<xsl:template match="ol">
+  <ol><xsl:apply-templates/></ol>
+</xsl:template>
+
+<xsl:template match="li">
+  <li><xsl:apply-templates/></li>
+</xsl:template>
+
+<xsl:template match="table">
+  <table border="1"><xsl:apply-templates/></table>
+</xsl:template>
+
+<xsl:template match="tr">
+  <tr><xsl:apply-templates/></tr>
+</xsl:template>
+
+<xsl:template match="tn">
+ <td class="empty"/><!-- empty table element -->
+</xsl:template>
+
+<xsl:template match="th">
+  <xsl:element name="th">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="td">
+  <xsl:element name="td">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+<xsl:template match="note">
+  <blockquote class="note"><xsl:apply-templates/></blockquote>
+</xsl:template>
+-->
+
+<xsl:template match="note">
+    <xsl:element name="table">
+      <xsl:attribute name="class">note</xsl:attribute>
+      <tr>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteImg</xsl:attribute>
+          <xsl:element name="img">
+            <xsl:attribute name="src">resources/note.gif</xsl:attribute>
+            <xsl:attribute name="alt">note</xsl:attribute>
+          </xsl:element>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteTxt</xsl:attribute>
+          <xsl:apply-templates/>
+        </xsl:element>
+      </tr>
+    </xsl:element>
+</xsl:template>
+
+<xsl:template match="source">
+  <blockquote class="source"><pre><xsl:value-of select="."/></pre></blockquote>
+</xsl:template>
+
+<xsl:template match="hidden">
+<!-- content is hidden -->
+</xsl:template>
+
+<!--<!ENTITY % markup "em|ref|code|br">-->
+
+<xsl:template match="br">
+  <br/>
+</xsl:template>
+
+<xsl:template match="em">
+  <b><xsl:apply-templates/></b>
+</xsl:template>
+
+<xsl:template match="code">
+  <code><xsl:apply-templates/></code>
+</xsl:template>
+
+<xsl:template match="ref">
+  <b><i><xsl:apply-templates/></i></b>
+</xsl:template>
+
+<!-- Glossary Items <label> <item> -->
+
+<xsl:template match="label">
+  <p class="label"><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <p class="item"><xsl:apply-templates/></p>
+</xsl:template>
+
+<!--<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">-->
+
+<xsl:template match="anchor">
+  <xsl:element name="a">
+    <xsl:attribute name="name">
+       <xsl:value-of select="@name"/>
+    </xsl:attribute>
+    <xsl:text>&#8204;</xsl:text> <!-- (zero-width non-join) character -->
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="img">
+  <xsl:copy-of select="."/>
+</xsl:template>
+
+<!-- Glossary elements "gloss (label|item)* -->
+
+<xsl:template match="gloss">
+  <xsl:element name="div">
+    <xsl:attribute name="class">glossary</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="label">
+  <p class="label"><em>
+  <xsl:apply-templates/>
+  </em></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <xsl:element name="blockquote">
+    <xsl:attribute name="class">item</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- ********
+<!ELEMENT link (#PCDATA|img)*>
+<!ATTLIST link idref NMTOKEN #IMPLIED
+    anchor CDATA  #IMPLIED>
+
+<!ELEMENT jump (#PCDATA|img)*>
+<!ATTLIST jump href CDATA #REQUIRED>
+*************
+-->
+
+<xsl:template match="link">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:if test="@idref">
+        <xsl:value-of select="concat(@idref, '.html')"/>
+      </xsl:if>
+      <xsl:if test="@anchor">
+        <xsl:value-of select="concat('#', @anchor)"/>
+      </xsl:if>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="jump">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="@href"/>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- cross-reference resource elements -->
+
+<!--
+ Resolve Resource References through "resources.xml" document
+-->
+<xsl:template match="resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="$resref/@location"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@title"/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+ Resolve Mailbox References through "resources.xml" document
+-->
+
+<xsl:template match="human-resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//human-resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="concat('mailto:',$resref/@mailto)"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@name"/>
+  </xsl:element>
+</xsl:template>
+
+
+</xsl:stylesheet>
diff --git a/xdocs/sources/entities.ent b/xdocs/sources/entities.ent
new file mode 100644
index 0000000..f9672dc
--- /dev/null
+++ b/xdocs/sources/entities.ent
@@ -0,0 +1,101 @@
+<?xml encoding="US-ASCII"?>

+

+<!ENTITY xslt "Xalan">

+<!ENTITY xslt4j "Xalan-Java">

+<!ENTITY xslt4j2 "Xalan-Java 2">

+<!ENTITY xslt4ji "&xslt4j; Interpretive">

+<!ENTITY xslt4jc-short "XSLTC">

+<!ENTITY xslt4jc-long  "&xslt4j; Compiled">

+<!ENTITY xslt4j-dist-bin "&xslt4j-dist;-bin">

+<!ENTITY xslt4j-dist-src "&xslt4j-dist;-src">

+<!ENTITY xslt4j-dist "xalan-j_2.7.1">

+<!ENTITY xslt4j-current "&xslt4j; Version 2.7.1">

+<!ENTITY xslt4j-distdir "http://www.apache.org/dyn/closer.cgi/xml/xalan-j/">

+<!ENTITY xslt4j_longname "Apache Xalan Java">

+<!ENTITY xml4j "Xerces-Java">

+<!ENTITY xml4j1 "Xerces-Java 1">

+<!ENTITY xml4j2 "Xerces-Java 2">

+<!ENTITY xml4j-used "&xml4j; @parser.version.VERSION@.@parser.version.RELEASE@.@parser.version.MINOR@">

+<!ENTITY xml4j-jar "xercesImpl.jar">

+<!ENTITY xslt4c "Xalan-C++">

+<!ENTITY xml4c "Xerces-C++">

+<!ENTITY jaxp13-short "JAXP 1.3">

+<!ENTITY jaxp13-long  "Java API for XML Processing (JAXP) 1.3">

+<!ENTITY download "The &xslt4j-current; download includes &xml4j-jar; from &xml4j-used; and xml-apis.jar. 

+For version information about the contents of xml-apis.jar, see the JAR manifest.">

+

+<!ENTITY xsltcwhatsnewhead '<li><link anchor="xsltc">&xslt4jc-short;</link></li>'>

+

+<!ENTITY xsltcwhatsnew '<anchor name="xsltc"/><s2 title="&xslt4jc-long; (&xslt4jc-short;)">

+                <p>In April 2001, Sun donated &xslt4jc-short; to the Xalan project. &xslt4jc-short; compiles stylesheets into translets and

+                provides a runtime environment for using translets to transform XML documents. Initially, &xslt4jc-short; is

+                available in a separate JAR. Over time, we plan to integrate the two codebases. For more information,

+                see <link idref="xsltc_usage">Getting Started with &xslt4jc-short;</link>, 

+                <link idref="readme" anchor="xsltcreleasenotes">&xslt4jc-short;

+                Release Notes</link>, and <jump href="xsltc/index.html">&xslt4jc-short; Design</link>.</p>

+                </s2>'>

+

+<!ENTITY history2xsltc '<note>For &xslt4jc-short; changes since &xslt4jc-short; was incorporated into &xslt4j;, see

+                        <link idref="xsltc_history">&xslt4jc-short; software changes</link>.</note>'>

+

+<!ENTITY xsltcclasspath '<p>If you are using <link idref="xsltc_usage">&xslt4jc-short;</link>, see

+                        <link idref="xsltc_usage" anchor="classpath">Setting the system classpath for &xslt4jc-short;</link>.</p>'>

+

+<!ENTITY xsltcsampleshead '<li><link anchor="translets">translets</link></li>'>

+

+<!ENTITY xsltcsamples '<anchor name="translets"/><s2 title="Translets">

+                 <ul>

+                 <li><link anchor="xsltc1">JAXPTransletOneTransformation</link></li>

+                 <li><link anchor="xsltc2">JAXPTransletMultipleTransformations</link></li>

+                 <li><link anchor="xsltcother">Other &xslt4jc-short; samples</link></li>   

+                 </ul>

+                 <p>You can use the JAXP interfaces to compile and run translets.

+                 For an overview of the usage patterns these samples illustrate, see 

+                 <link idref="xsltc_usage" anchor="api">Calling &xslt4jc-short; with the JAXP API</link>.</p>

+                 <anchor name="xsltc1"/>

+                 <s3 title="JAXPTransletOneTransformation">

+                 <p>What it does: Uses the &xslt4jc-short; TransformerFactory to compile a translet and use

+                 the translet to transform the &xslt4jc-short; to-do list from XML into HTML.</p>

+                 <p>Run this sample from the translets subdirectory with</p>

+                 <p><code>java JAXPTransletOneTransformation</code></p>

+                 <p>View the result in todo.html.</p>

+                 </s3><anchor name="xsltc2"/>

+                 <s3 title="JAXPTransletMultipleTransformations">

+                 <p>What it does: Uses the &xslt4jc-short; TransformerFactory to compile a translet and use

+                 the Templates object associated with the translet to transform the &xslt4jc-short; and Xalan to-do lists from XML 

+                 into HTML.</p>

+                 <p>Run this sample from the translets subdirectory with</p>

+                 <p><code>java JAXPTransletMultipleTransformations</code></p>

+                 <p>View the results in todo.html and todotoo.html.</p>                

+                 </s3><anchor name="xsltcother"/>

+                 <s3 title="Other &xslt4jc-short; samples">

+                 <p>Other &xslt4jc-short; samples are located in the following samples subdirectories:</p>

+                 <ul>

+                 <li>CompiledServlet</li>

+                 <li>CompiledBrazil</li>

+                 <li>CompiledJAXP</li>

+                 <li>CompiledApplet</li>

+                 <li>CompiledEJB</li>

+                 </ul>

+                 <p>For information about each of these samples, consult the README file in the subdirectory.</p>

+                 <p>&xslt4jc-short; provides demos for using &xslt4jc-short; as a servlet and as a handler for

+                 Brazil (a new and powerful Web techology from Sun labs).</p>

+                 <p>To run the Brazil-handler demo, download Brazil from sunlabs:</p>

+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;<jump href="http://research.sun.com/research/download/index.html">http://research.sun.com/research/download/index.html</jump></code></p>

+                 <p>The translet must be specified as a pure class name,

+                 accessible through the Brazil-handler&apos;s classpath. For

+                 example:</p>

+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;translet=mk054</code></p>

+                 <p>The document must be specified as a valid URL. For example:</p>

+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;document=http://server/path/to/filename.xml</code></p>

+                 <p>If the file is local to the Brazil handler, it has to be

+                specified using the "file:filename.xml" format.</p>

+                <note>In order to run the Brazil-handler demo, you also need to

+                      make the Brazil and javax classes available from your

+                      classpath</note>

+                 <p>To run the servlet demo, download the java extensions for servlets from Sun:</p>

+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;

+                 <jump href="http://java.sun.com/products/servlet/download.html">

+                 http://java.sun.com/products/servlet/download.html</jump></code></p>

+                 </s3>

+                 </s2>'>

diff --git a/xdocs/sources/make-book-org.bat b/xdocs/sources/make-book-org.bat
new file mode 100644
index 0000000..4ccdae1
--- /dev/null
+++ b/xdocs/sources/make-book-org.bat
@@ -0,0 +1,12 @@
+::  Volume in drive I is LEDS-USB

+::  Volume Serial Number is 27B6-025E

+:: 

+

+

+mkdir ..\..\build\docs\xalan\resources

+

+call make-xalan-org index

+call make-xalan-org charter

+

+copy xslt-resources\*.* ..\..\build\docs\xalan\resources

+

diff --git a/xdocs/sources/make-xalan-org.bat b/xdocs/sources/make-xalan-org.bat
new file mode 100644
index 0000000..dfd7eec
--- /dev/null
+++ b/xdocs/sources/make-xalan-org.bat
@@ -0,0 +1,86 @@
+::

+:: Set the current path to include a stylesheet transformation utility

+::

+:: %1               The document filename (without extension) to transform

+::

+:: -- The Environment Variables for this script --

+::

+:: %XALANBOOKXML%     The <book> navigation file for this project

+::

+:: %XALANCMD%         The Xalan command-line XSLT transformation utility

+::

+:: %XALANSTYLE%       The XSLT stylesheet to 

+::

+:: %XALANSRCDIR%      Source directory of STYLEBOOK markup XML documents

+::

+:: %XALANOUTDIR%      Target directory of XHTML web page documents

+::

+:: %XALANLOGOIMG%     Web Page Logo

+::

+:: %XALANLOGOWIDTH%   Web Page Logo Width

+::

+:: %XALANLOGOHEIGHT%  Web Page Logo Height

+::

+:: %XALANLOGOLINK%    Active Link for Web Page Logo

+::

+:: %XALANTITLELINK%   Active Link for Web Page Title

+::

+:: %WEBCREATED%       Web Page Creation Date

+::

+:: -- The XSLT Stylesheet Top-Level Parameters

+::

+:: sectionid        Top-level stylesheet parameter (document file id)

+::

+:: createdate       Top-level stylesheet parameter (web page creation date)

+::

+:: logoimage        Apache Trademark Logo Image

+::

+:: logoheight       Logo Height in Pixels

+::

+:: logowidth        Logo Width in Pixels

+::

+:: logolink         Logo Image - hot link

+::

+:: bookxml          The <book>.xml file for navigation

+::

+:: booklink         The Hot-Link for Book Title in Header

+::

+

+SET XALANBOOKXML=xalan-apache-org-site.xml

+

+SET XALANCMD=..\..\bin\xalan.exe

+

+SET XALANSTYLE=stylebook.xslt

+

+SET XALANSRCDIR=xalan-apache-org

+

+SET XALANOUTDIR=..\..\build\docs\xalan

+

+SET XALANLOGOIMG=resources/Xalan-Logo-tm.png

+

+SET XALANLOGOWIDTH=190

+

+SET XALANLOGOHEIGHT=90

+

+SET XALANLOGOLINK=index.html

+

+SET XALANTITLELINK=index.html

+

+SET WEBCREATED=%DATE%

+

+::

+:: Create Target Directories

+::

+

+IF EXIST "%XALANOUTDIR%" GOTO NEXT1

+MKDIR "%XALANOUTDIR%"

+:NEXT1

+IF EXIST "%XALANOUTDIR%\resources" GOTO NEXT2

+MKDIR "%XALANOUTDIR%\resources"

+:NEXT2

+

+::

+:: Now create the specific web page from StyleBook XML

+::

+

+"%XALANCMD%" -p sectionid "'%1'" -p xmlsources "'%XALANSRCDIR%'" -p createdate "'%WEBCREATED%'" -p logoimage "'%XALANLOGOIMG%'" -p logowidth "'%XALANLOGOWIDTH%'" -p logoheight "'%XALANLOGOHEIGHT%'" -p logolink "'%XALANLOGOLINK%'" -p bookxml "'%XALANBOOKXML%'" -p booklink "'%XALANTITLELINK%'" %XALANSRCDIR%\%1.xml %XALANSTYLE%  >%XALANOUTDIR%\%1.html

diff --git a/xdocs/sources/stylebook.xslt b/xdocs/sources/stylebook.xslt
new file mode 100644
index 0000000..c27d351
--- /dev/null
+++ b/xdocs/sources/stylebook.xslt
@@ -0,0 +1,988 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+ * 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 html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
+* "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+-->
+
+<xsl:output  method="xml" version="1.0" indent="yes"
+  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+  omit-xml-declaration="no"
+  encoding="ISO-8859-1"
+  standalone="no"
+/>
+
+<!-- THE TOP-LEVEL PARAMETERS 
+
+  logoimage   = resource image for active logo (resources/asf_logo.png)
+  logolink    = logo active hyperlink          (http://xalan.apache.org)
+  logowidth   = width of trademark logo in pixels
+  logoheight  = height of tracemark logo in pixels
+
+  bookxml     = path to the book.xml for navigation and book title
+  booklink    = path to the index.html for the book
+
+  sectionid   = basename of the source xml file without the (.xml) extension.
+  createdate  = date that this stylesheet is used.
+
+  xmlsources  = directory where project sources reside
+
+ ===============
+
+  Building a documentation web page using a commandline XSLTt transformation program
+
+  EXSLT -p sectionid='getstarted' -p createdate='Aug 7, 2011'
+    -p logoimage='resources/xalan-logo.png'
+    -p logolink='http://xalan.apache.org'
+    -p logowidth='144'
+    -p logoheight='75'
+    -p bookxml='xalan.xml'
+    -p booklink='index.html'
+    xalan\documentfile.xml  xalan-manual.xslt  ..\html\documentfile.html
+-->
+
+<xsl:param name="logoimage">resources/asf_logo.png</xsl:param>
+<xsl:param name="logolink">http://www.apache.org</xsl:param>
+<xsl:param name="logowidth">144</xsl:param>
+<xsl:param name="logoheight">75</xsl:param>
+
+<xsl:param name="bookxml">xalan.xml</xsl:param>
+<xsl:param name="booklink">index.html</xsl:param>
+
+<xsl:param name="sectionid">index</xsl:param>
+<xsl:param name="createdate"/>
+
+<xsl:param name="xmlsources">xalan</xsl:param>
+
+
+<!-- THE ROOT TEMPLATE TO BUILD ASF STYLEBOOK WEB PAGE -->
+
+<xsl:template match="/">
+
+<!-- CONSTRUCT A BOOK TITLE FROM THE REFERENCED BOOK XML -->
+
+  <xsl:variable name="booktitle">
+    <xsl:value-of select='document($bookxml)/book/@title'/>
+  </xsl:variable>
+
+
+<!-- CONSTRUCT A BOOK SUBTITLE TITLE FROM SOURCE XML PROPERTIES -->
+
+  <xsl:variable name="xalantitle">
+    <xsl:choose>
+      <xsl:when test="s1/@title">
+        <xsl:value-of select="s1/@title"/>
+      </xsl:when>
+      <xsl:when test="s2/@title">
+        <xsl:value-of select="s2/@title"/>
+      </xsl:when>
+      <xsl:when test="s3/@title">
+        <xsl:value-of select="s3/@title"/>
+      </xsl:when>
+      <xsl:when test="faqs">
+        <xsl:choose>
+          <xsl:when test="faqs/@title">
+            <xsl:value-of select="faqs/@title"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Frequently Asked Questions</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:text>Resources</xsl:text>
+      </xsl:when>
+      <xsl:when test="changes/@title">
+        <xsl:value-of select="changes/@title"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>DEBUG - xalantitle not found</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+<xsl:element name='html'>
+  <xsl:element name='head'>
+    <xsl:element name='title'>
+      <xsl:value-of select="concat('ASF: ',$xalantitle)"/>
+    </xsl:element><!--/title-->
+    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <link rel="stylesheet" type="text/css" href="resources/apache-xalan.css"/>
+  </xsl:element><!--/head-->
+
+<!-- PUT IN THE APACHE SOFTWARE FOUNDATION LICENSING STATEMENT -->
+ <xsl:comment>
+ * 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.
+ </xsl:comment>
+
+ <body>
+   <!-- THE TITLE SECTION -->
+
+   <xsl:call-template name="doTitle">
+     <xsl:with-param name="headtitle">
+       <xsl:value-of select="$booktitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headtitlelink">
+       <xsl:value-of select="$booklink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headsubtitle">
+       <xsl:value-of select="$xalantitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoimg">
+       <xsl:value-of select="$logoimage"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogolink">
+       <xsl:value-of select="$logolink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoheight">
+       <xsl:value-of select="$logoheight"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogowidth">
+       <xsl:value-of select="$logowidth"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE NAVIGATION SECTION -->
+
+   <xsl:call-template name="doLeftNav">
+     <xsl:with-param name="sectparm">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE MAIN CONTENT SECTION -->
+
+   <xsl:call-template name="doContent">
+     <xsl:with-param name="mysectionid">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE COPYRIGHT FOOTER -->
+
+   <xsl:call-template name="doFooter">
+     <xsl:with-param name="releaseinfo">
+       <xsl:text>Web Page created on - </xsl:text>
+       <xsl:value-of select="$createdate"/>
+     </xsl:with-param>
+   </xsl:call-template>
+ </body>
+</xsl:element><!--html-->
+</xsl:template>
+
+
+<!-- DEBUG TEMPLATE -->
+<xsl:template name="DEBUG">
+  <xsl:param name="theText"/>
+  <xsl:param name="theNode"/>
+  <xsl:element name="DEBUG">
+    <xsl:element name="DEBUGTEXT">
+      <xsl:value-of select="$theText"/>
+    </xsl:element>
+    <xsl:if test="$theNode">
+      <xsl:element name="DEBUGNODES">
+        <xsl:copy-of select="$theNode"/>
+      </xsl:element>
+    </xsl:if>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doTitle">
+  <xsl:param name="headtitle">XML StyleBook Example</xsl:param>
+  <xsl:param name="headtitlelink">index.html</xsl:param>
+  <xsl:param name="headsubtitle">Documentation Test Example</xsl:param>
+  <xsl:param name="headlogoimg">resources/asf_logo.png</xsl:param>
+  <xsl:param name="headlogolink">http://www.apache.org</xsl:param>
+  <xsl:param name="headlogoheight"><xsl:value-of select="$logoheight"/></xsl:param>
+  <xsl:param name="headlogowidth"><xsl:value-of select="$logowidth"/></xsl:param>
+  <xsl:element name="div">
+    <xsl:attribute name="id">
+       <xsl:text>title</xsl:text>
+    </xsl:attribute>
+    <table class="HdrTitle">
+    <tbody>
+    <tr>
+     <th rowspan="2">
+      <xsl:element name='a'>
+        <xsl:attribute name='href'><xsl:value-of select='$headlogolink'/></xsl:attribute>
+        <xsl:element name='img'>
+          <xsl:attribute name='alt'><xsl:text>Trademark Logo</xsl:text></xsl:attribute>
+          <xsl:attribute name='src'><xsl:value-of select="$headlogoimg"/></xsl:attribute>
+          <xsl:attribute name='width'><xsl:value-of select="$headlogowidth"/></xsl:attribute>
+          <xsl:attribute name='height'><xsl:value-of select="$headlogoheight"/></xsl:attribute>
+        </xsl:element><!-- img -->
+      </xsl:element><!-- a -->
+     </th>
+     <th text-align="center" width="75%">
+       <xsl:element name='a'>
+         <xsl:attribute name='href'>
+           <xsl:value-of select="$headtitlelink"/>
+         </xsl:attribute>
+         <xsl:value-of select="$headtitle"/>
+       </xsl:element><!-- a -->
+     </th>
+    </tr>
+    <tr>
+     <td valign="middle"><xsl:value-of select="$headsubtitle"/></td>
+    </tr>
+    </tbody>
+    </table>
+
+<!--  </xsl:element> -->
+
+<!-- Useful Emulation of Project Header Buttons -->
+
+<!-- <table class="HdrButtons"> -->
+
+    <table class="HdrButtons" align="center" border="1">
+     <tbody>
+      <tr>
+       <td><a href="http://www.apache.org">Apache Foundation</a></td>
+       <td><a href="http://xalan.apache.org">Xalan Project</a></td>
+       <td><a href="http://xerces.apache.org">Xerces Project</a></td>
+       <td><a href="http://www.w3.org/TR">Web Consortium</a></td>
+       <td><a href="http://www.oasis-open.org/standards">Oasis Open</a></td>
+      </tr>
+     </tbody>
+    </table>
+  </xsl:element>
+<!-- -->
+
+</xsl:template>
+
+
+<xsl:template name="doLeftNav">
+<xsl:param name="sectparm" select="''"/>
+<xsl:element name="div">
+  <xsl:attribute name="id">navLeft</xsl:attribute>
+  <ul>
+  <xsl:for-each select="document($bookxml)/book/*">
+    <xsl:if test="name(.)!='hidden'">
+    <xsl:choose>
+      <xsl:when test="name(.)='external'">
+        <li>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@href"/>
+          </xsl:attribute>
+          <xsl:value-of select="@label"/>
+        </xsl:element>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='resources'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'resources'">
+            <a href="resources.html">Resources</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Resources</xsl:text><br/>
+        </xsl:otherwise>
+      </xsl:choose>
+      </li>
+      </xsl:when>
+      <xsl:when test="name(.)='changes'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'changes'">
+            <a href="changes.html">Changes</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Changes</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='separator'">    <!--  </ul>   <hr/>      <ul> -->
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;&lt;hr /&gt;&lt;ul&gt;</xsl:text>
+      </xsl:when>
+      <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != string(@id)">
+            <xsl:element name="a">
+              <xsl:attribute name="href">
+                <xsl:value-of select="concat(@id,'.html')"/>
+              </xsl:attribute>
+              <xsl:value-of select="@label"/>
+            </xsl:element>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="@label"/><br/>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+
+
+      <xsl:when test="name(.)='group'">
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;</xsl:text>
+        <xsl:element name="p">
+          <xsl:attribute name="class">navGroup</xsl:attribute>
+          <em><xsl:value-of select="@label"/></em>
+        </xsl:element>
+        <xsl:text disable-output-escaping="yes">&lt;ul&gt;</xsl:text>
+
+        <xsl:for-each select="./*"> 
+          <xsl:choose>
+
+            <xsl:when test="name(.)='external'">
+              <li>
+              <xsl:element name="a">
+                <xsl:attribute name="href">
+                  <xsl:value-of select="@href"/>
+                </xsl:attribute>
+                <xsl:value-of select="@label"/>
+              </xsl:element>
+              </li>
+            </xsl:when>
+            <xsl:when test="name(.)='resources'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'resources'">
+                  <a href="resources.html">Resources</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Resources</xsl:text><br/>
+              </xsl:otherwise>
+            </xsl:choose>
+            </li>
+            </xsl:when>
+            <xsl:when test="name(.)='changes'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'changes'">
+                  <a href="changes.html">Changes</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Changes</xsl:text>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+            <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != string(@id)">
+                  <xsl:element name="a">
+                    <xsl:attribute name="href">
+                      <xsl:value-of select="concat(@id,'.html')"/>
+                    </xsl:attribute>
+                    <xsl:value-of select="@label"/>
+                  </xsl:element>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:value-of select="@label"/><br/>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+
+
+            <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <group> element -->
+-->
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <book> element -->
+-->
+      </xsl:otherwise>
+    </xsl:choose>
+    </xsl:if> <!-- not hidden -->
+  </xsl:for-each>
+  </ul>
+</xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doContent">
+  <xsl:element name="div">
+    <xsl:attribute name="id">content</xsl:attribute>
+    <xsl:choose>
+      <xsl:when test="faqs">
+        <xsl:for-each select="faqs">
+          <xsl:call-template name="doFaqDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:for-each select="resources">
+          <xsl:call-template name="doResDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="changes">
+        <xsl:for-each select="changes">
+          <xsl:call-template name="doChangesDoc"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doFooter">
+  <xsl:param name="releaseinfo"/>
+  <xsl:element name="div">
+    <xsl:attribute name="id">footer</xsl:attribute>
+    <!-- copyright byline information -->
+    <!-- &#169; is the (c) copyright symbol -->
+    <xsl:text>Copyright &#169; 1999-2012 The Apache Software Foundation</xsl:text><br/>
+    <xsl:text>Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation</xsl:text>
+    <xsl:element name="div">
+      <xsl:attribute name="class">small</xsl:attribute>
+      <xsl:value-of select="$releaseinfo"/>
+    </xsl:element>
+  </xsl:element>
+</xsl:template>
+
+
+<!-- 
+  getPrevFaqCount returns the number of <faq> elements found in the previous <group>s 
+  Used to create sequential ID numbers across <faq> groups for titles and anchors.
+-->
+
+<xsl:template name="getPrevFaqCount">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:variable name="faqcount">
+    <xsl:choose>
+      <xsl:when test="$mygroup &lt;= 1">0</xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="subcount">
+          <xsl:call-template name="getPrevFaqCount">
+            <xsl:with-param name="mygroup" select="$mygroup - 1"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:value-of select="$subcount + count(./group[position()= ($mygroup - 1)]/faq)"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:value-of select="$faqcount"/>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Questions section -->
+
+<xsl:template name="groupFaqQuestions">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <h3><xsl:value-of select="./group[position()=$mygroup]/@title"/></h3>
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+
+<!-- list must have at least one faq -->
+      <xsl:if test="./faq[position()=1]">
+        <xsl:element name="ol">
+          <xsl:attribute name="start">
+            <xsl:value-of select="$prevfaqs + 1"/>
+          </xsl:attribute>
+          <xsl:call-template name="doFaqTitles">
+            <xsl:with-param name="faqNbr"><xsl:value-of select="$prevfaqs + 1"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:element>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqQuestions">
+      <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup + 1"/></xsl:with-param>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Answers section -->
+
+<xsl:template name="groupFaqAnswers">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+      <xsl:if test="./faq[position()=1]">
+        <xsl:call-template name="doFaqContent">
+          <xsl:with-param name="faqNbr" select="$prevfaqs + 1"/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqAnswers">
+      <xsl:with-param name="mygroup" select="$mygroup + 1"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+
+<!-- Updated to accommodate faq groups for XALAN-J -->
+
+<xsl:template name="doFaqDocument">
+  <h2 class="faqSubHead">Questions</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqQuestions"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:if test="./faq[position()=1]">
+        <ol start="1">
+           <xsl:call-template name="doFaqTitles"/>
+        </ol>
+      </xsl:if>
+    </xsl:otherwise>
+  </xsl:choose>
+  <h2 class="faqSubHead">Answers</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqAnswers"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:call-template name="doFaqContent"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="doFaqTitles">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+  <xsl:if test="faq[position()=$myNbr]">
+    <!-- output the title reference -->
+    <li>
+    <xsl:element name="a">
+      <xsl:attribute name="href">
+        <xsl:value-of select="concat('#faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:value-of select="faq[position()=$myNbr]/@title"/>
+    </xsl:element>
+    </li>
+    <!-- get the next faq if any -->
+    <xsl:call-template name="doFaqTitles">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="doFaqContent">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+
+  <xsl:if test="faq[position()=$myNbr]">            <!-- output content of this element only -->
+
+<!--  <h3><xsl:value-of select="faq[position()=$myNbr]/@title"/></h3>     -->
+
+    <xsl:element name="h3">
+      <xsl:attribute name="id">
+        <xsl:value-of select="concat('faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:attribute name="class">
+        <xsl:text>faqTitle</xsl:text>
+      </xsl:attribute>
+      <xsl:value-of select="concat($faqNbr, '. ', faq[position()=$myNbr]/@title)"/>
+    </xsl:element>
+
+<!--  The FAQ Text Part                            -->
+    <xsl:for-each select="faq[position()=$myNbr]/*">      <!-- children of 'faq' -->
+      <xsl:choose>
+        <xsl:when test="name(.)='q'">                  <!-- The Question Text -->
+          <div class="faqQuestion">
+            <xsl:apply-templates/>               <!-- children of 'q' -->
+          </div>
+        </xsl:when>
+        <xsl:when test="name(.)='a'">                  <!-- The Answer Text -->
+          <br/>
+          <hr/>
+          <div class="faqAnswer">
+            <xsl:apply-templates/>               <!-- children of 'a' -->
+          </div>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+
+    <xsl:call-template name="goToTop"/>
+
+<!--  Recurse for next faq item                    -->
+    <xsl:call-template name="doFaqContent">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="goToTop">
+  <p align="right" size="2">
+    <a href="#content">(top)</a>
+  </p>
+</xsl:template>
+
+
+<xsl:template name="doResDocument">
+  <xsl:for-each select="resource|human-resource">
+    <xsl:choose>
+      <xsl:when test="name(.)='resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@title"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@title"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@location"/>
+          </xsl:attribute>
+          <xsl:value-of select="@location"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+      <xsl:when test="name(.)='human-resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@name"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@name"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',@mailto)"/>
+          </xsl:attribute>
+          <xsl:value-of select="concat('mailto:',@mailto)"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="doChangesDoc">
+  <!-- context is <changes> element -->
+  <xsl:for-each select="release">
+    <h3 class="chgRelease">
+      <xsl:value-of select="concat('Release ',@version,' (',@date,')')"/>
+    </h3>
+    <xsl:if test="features">
+      <h4 class="chgFeatures"><xsl:text>Features</xsl:text></h4>
+      <xsl:for-each select="features">
+        <ul>
+          <xsl:for-each select="feat">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:if test="fixes">
+      <h4 class="chgFixes"><xsl:text>Bug Fixes</xsl:text></h4>
+      <xsl:for-each select="fixes">
+        <ul>
+          <xsl:for-each select="fix">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:call-template name="goToTop"/>
+  </xsl:for-each>
+</xsl:template>
+
+<!-- THE MATCHING TEMPLATE RULES -->
+
+<xsl:template match="s1">
+  <h2><xsl:value-of select="@title"/></h2>
+  <xsl:apply-templates/>
+  <xsl:call-template name="goToTop"/>
+</xsl:template>
+
+<xsl:template match="s2">
+  <xsl:call-template name="goToTop"/>
+  <h3><xsl:value-of select="@title"/></h3>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s3">
+  <xsl:call-template name="goToTop"/>
+  <h4><xsl:value-of select="@title"/></h4>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s4">
+  <h5><xsl:value-of select="@title"/></h5>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<!--<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">-->
+
+<xsl:template match="p">
+  <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="ul">
+  <ul><xsl:apply-templates/></ul>
+</xsl:template>
+
+<xsl:template match="ol">
+  <ol><xsl:apply-templates/></ol>
+</xsl:template>
+
+<xsl:template match="li">
+  <li><xsl:apply-templates/></li>
+</xsl:template>
+
+<xsl:template match="table">
+  <table border="1"><xsl:apply-templates/></table>
+</xsl:template>
+
+<xsl:template match="tr">
+  <tr><xsl:apply-templates/></tr>
+</xsl:template>
+
+<xsl:template match="tn">
+ <td class="empty"/><!-- empty table element -->
+</xsl:template>
+
+<xsl:template match="th">
+  <xsl:element name="th">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="td">
+  <xsl:element name="td">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+<xsl:template match="note">
+  <blockquote class="note"><xsl:apply-templates/></blockquote>
+</xsl:template>
+-->
+
+<xsl:template match="note">
+    <xsl:element name="table">
+      <xsl:attribute name="class">note</xsl:attribute>
+      <tr>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteImg</xsl:attribute>
+          <xsl:element name="img">
+            <xsl:attribute name="src">resources/note.gif</xsl:attribute>
+            <xsl:attribute name="alt">note</xsl:attribute>
+          </xsl:element>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteTxt</xsl:attribute>
+          <xsl:apply-templates/>
+        </xsl:element>
+      </tr>
+    </xsl:element>
+</xsl:template>
+
+<xsl:template match="source">
+  <blockquote class="source"><pre><xsl:value-of select="."/></pre></blockquote>
+</xsl:template>
+
+<xsl:template match="hidden">
+<!-- content is hidden -->
+</xsl:template>
+
+<!--<!ENTITY % markup "em|ref|code|br">-->
+
+<xsl:template match="br">
+  <br/>
+</xsl:template>
+
+<xsl:template match="em">
+  <b><xsl:apply-templates/></b>
+</xsl:template>
+
+<xsl:template match="code">
+  <code><xsl:apply-templates/></code>
+</xsl:template>
+
+<xsl:template match="ref">
+  <b><i><xsl:apply-templates/></i></b>
+</xsl:template>
+
+<!-- Glossary Items <label> <item> -->
+
+<xsl:template match="label">
+  <p class="label"><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <p class="item"><xsl:apply-templates/></p>
+</xsl:template>
+
+<!--<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">-->
+
+<xsl:template match="anchor">
+  <xsl:element name="a">
+    <xsl:attribute name="name">
+       <xsl:value-of select="@name"/>
+    </xsl:attribute>
+    <xsl:text>&#8204;</xsl:text> <!-- (zero-width non-join) character -->
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="img">
+  <xsl:copy-of select="."/>
+</xsl:template>
+
+<!-- Glossary elements "gloss (label|item)* -->
+
+<xsl:template match="gloss">
+  <xsl:element name="div">
+    <xsl:attribute name="class">glossary</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="label">
+  <p class="label"><em>
+  <xsl:apply-templates/>
+  </em></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <xsl:element name="blockquote">
+    <xsl:attribute name="class">item</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- ********
+<!ELEMENT link (#PCDATA|img)*>
+<!ATTLIST link idref NMTOKEN #IMPLIED
+    anchor CDATA  #IMPLIED>
+
+<!ELEMENT jump (#PCDATA|img)*>
+<!ATTLIST jump href CDATA #REQUIRED>
+*************
+-->
+
+<xsl:template match="link">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:if test="@idref">
+        <xsl:value-of select="concat(@idref, '.html')"/>
+      </xsl:if>
+      <xsl:if test="@anchor">
+        <xsl:value-of select="concat('#', @anchor)"/>
+      </xsl:if>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="jump">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="@href"/>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- cross-reference resource elements -->
+
+<!--
+ Resolve Resource References through "resources.xml" document
+-->
+<xsl:template match="resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="$resref/@location"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@title"/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+ Resolve Mailbox References through "resources.xml" document
+-->
+
+<xsl:template match="human-resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//human-resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="concat('mailto:',$resref/@mailto)"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@name"/>
+  </xsl:element>
+</xsl:template>
+
+
+</xsl:stylesheet>
diff --git a/xdocs/sources/xalan-apache-org-site.xml b/xdocs/sources/xalan-apache-org-site.xml
new file mode 100644
index 0000000..c937804
--- /dev/null
+++ b/xdocs/sources/xalan-apache-org-site.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>

+<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">

+

+<!--

+ * Copyright 2000-2012 The Apache Software Foundation.

+ *

+ * Licensed 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.

+-->

+

+<book title="Apache Xalan Project " copyright="2011 The Apache Software Foundation">

+  <document id="index" label="Apache Xalan" source="xalan-apache-org/index.xml"/>

+  <document id="charter" label="Charter" source="xalan-apache-org/charter.xml"/>

+  <separator/>  

+<!--

+  <external href="http://xml.apache.org/xalan-c" label="Xalan C++"/>  

+  <external href="http://xml.apache.org/xalan-j" label="Xalan Java 2"/>

+-->

+<group label="Projects">

+  <external href="xalan-c/index.html" label="Xalan C++"/>  

+  <external href="http://xml.apache.org/xalan-j/index.html" label="Xalan Java"/>

+</group>

+  <separator/>  

+<group label="Mail Lists">

+  <external href="http://marc.theaimsgroup.com/?l=xalan-dev " label="Developers Archive"/>

+  <external href="http://marc.theaimsgroup.com/?l=xalan-c-users" label="C Users Archive"/>

+  <external href="http://marc.theaimsgroup.com/?l=xalan-j-users" label="J Users Archive"/>

+</group>

+  <separator/>

+<group label="Resources">

+  <external href="http://www.apache.org/" label="Apache"/>

+  <external href="http://www.apache.org/foundation/getinvolved.html" label="Get Involved"/>

+  <external href="http://www.apache.org/licenses/" label="Licenses"/>

+  <external href="http://www.apache.org/foundation/sponsorship.html" label="Sponsorship"/>

+  <external href="http://www.apache.org/foundation/thanks.html" label="Thanks"/>

+  <external href="http://www.apache.org/security/" label="Security"/>

+</group>

+  <separator/>

+</book>

diff --git a/xdocs/sources/xalan-apache-org/charter.xml b/xdocs/sources/xalan-apache-org/charter.xml
new file mode 100644
index 0000000..777170a
--- /dev/null
+++ b/xdocs/sources/xalan-apache-org/charter.xml
@@ -0,0 +1,318 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+<!--
+ * Copyright 2001-2012 The Apache Software Foundation.
+ *
+ * Licensed 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>
diff --git a/xdocs/sources/xalan-apache-org/index.xml b/xdocs/sources/xalan-apache-org/index.xml
new file mode 100644
index 0000000..98b194c
--- /dev/null
+++ b/xdocs/sources/xalan-apache-org/index.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+<!--
+ * Copyright 1999-2012 The Apache Software Foundation.
+ *
+ * Licensed 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="The Apache Xalan Project">
+
+<p>Xalan is an XSLT processor for transforming XML documents into HTML, text, or
+other XML document types.  It uses the Xerces (XML Parser) to convert XML 
+documents to internal nodesets.</p>
+
+<p>The project name and logo are derived from the ancient Xalam musical instrument
+found in Africa. Note the difference in spelling.</p>
+
+<s2 title="Xalan">
+<p>Xalan has moved out of the XML project and is now a project in its own right. 
+You will find links to all the Xalan subprojects as well as our charter on the menu 
+at the left of the screen. </p>
+
+<p>The old releases of Xalan still reside in the XML Project archives.</p>
+<ul>
+<!--
+* Xalan C++ Version 1.10 [xml.apache.org/xalan-c]
+* Xalan Java Version 2.7.1 [xml.apache.org/xalan-j]
+-->
+  <li><jump href="http://xml.apache.org/xalan-c">Xalan C++ Version 1.10</jump></li>
+  <li><jump href="http://xml.apache.org/xalan-j">Xalan Java Version 2.7.1</jump></li>
+</ul>
+
+<p>The links on the left navigation panel point to the current documentation.</p>
+</s2>
+
+<s2 title="What is Xalan?">
+<p>
+As our charter will tell you, the Apache Xalan Project 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.</p>
+<p>There are currently two subprojects under the Apache Xalan Project:  
+<jump href="http://xml.apache.org/xalan-c/">Xalan C++</jump>, and 
+<jump href="http://xml.apache.org/xalan-j/">Xalan Java</jump>, representing
+C++ and Java implementations of the <jump href="http://www.w3.org/TR/xslt">W3C XSL Transformations (XSLT) 
+Version 1.0</jump> and the <jump href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</jump> 
+recommendations.</p> 
+</s2>
+
+<s2 title="What is XSLT and XPath?">
+<p>XSLT is the first part of the <jump href="http://www.w3.org/TR/xsl/">Extensible Stylesheet Language (XSL)</jump>. 
+It includes the XSL Transformation (XSLT) vocabulary and XPath, a language for addressing parts of XML documents. 
+XSL also includes a vocabulary for specifying formatting semantics, however, 
+this is not part of the Apache Xalan Project.  For more information on formatting objects, see the 
+<jump href="http://xml.apache.org/fop/">Apache XML FOP (Formatting Objects Project)</jump>.
+ </p>
+
+<p>XSLT implementations, sometimes referred to as XSLT processors, use an XSL stylesheet to transform
+XML documents into HTML, text, or other XML document types.   In structural terms, an XSL stylesheet 
+specifies the transformation of one tree of nodes (the XML input) into another tree of nodes (the output or 
+transformation result).</p>
+</s2>
+
+<s2 title="License information">
+<p>Xalan C++ and Xalan Java are made available under the <jump href="http://www.apache.org/licenses/LICENSE-2.0">
+Apache Software License, Version 2.0.</jump></p>
+</s2>
+
+<s2 title="Getting Involved"> 
+<p>We always appreciate people and organizations that wish to help
+in the development and project support efforts.</p>
+
+<p>You can follow the activity by reviewing the project
+mail lists.  Posting messages to these lists is how we
+coordinate the activites related to the our projects.</p>
+
+<p>The developers mail list [<jump href="mailto:xalan-dev@xml.apache.org">xalan-dev</jump>]
+ is for communicating issues to the Apache Xalan development teams.
+Both the Java and C/C++ groups monitor the developers list.
+All project change notices are posted to the developers list.</p>
+
+<p>Each sub-project has its own mail list for project specific user
+issues.</p>
+
+<p>The user list for Xalan C++ 
+ [<jump href="mailto:xalan-c-users@xml.apache.org">xalan-c-users</jump>] is 
+for general user comments on the Xalan C++ project.</p>
+
+<p>The user list for Xalan Java 
+ [<jump href="mailto:xalan-j-users@xml.apache.org">xalan-j-users</jump>] is
+for general user comments on the Xalan Java project.</p>
+
+<p>The Apache Software Foundation has guidance on 
+ <jump href="http://www.apache.org/foundation/getinvolved.html">how to 
+participate</jump> in the various development efforts.</p>
+</s2>
+
+</s1>
diff --git a/xdocs/sources/xslt-resources/Xalan-Logo-tm.png b/xdocs/sources/xslt-resources/Xalan-Logo-tm.png
new file mode 100644
index 0000000..9a08808
--- /dev/null
+++ b/xdocs/sources/xslt-resources/Xalan-Logo-tm.png
Binary files differ
diff --git a/xdocs/sources/xslt-resources/Xalan-Logo.txt b/xdocs/sources/xslt-resources/Xalan-Logo.txt
new file mode 100644
index 0000000..a405efc
--- /dev/null
+++ b/xdocs/sources/xslt-resources/Xalan-Logo.txt
@@ -0,0 +1,85 @@
+

+The XALAN Logo

+

+Graphic: A stylized version of the African Xalam instrument.

+

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/xdocs/sources/xslt-resources/Xalan-Trademark.txt b/xdocs/sources/xslt-resources/Xalan-Trademark.txt
new file mode 100644
index 0000000..5f5c264
--- /dev/null
+++ b/xdocs/sources/xslt-resources/Xalan-Trademark.txt
@@ -0,0 +1,106 @@
+

+The XALAN Logo - Trademark Description

+--------------------------------------

+

+Prepared By:  

+

+	Steven J. Hathaway

+

+	(shathaway@apache.org)

+

+	September 3, 2011

+

+
+

+Prepared for:

+

+	The Apache Software Foundation

+

+--------------------------------------

+

+Graphic: A stylized version of the African Xalam instrument.

+

+Note: the difference in spelling.

+

+	Xalam is the African Musical Instrument

+	Xalan is the Apache Xalan Software Project

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark symbol)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation (trademark name)

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/xdocs/sources/xslt-resources/apache-xalan.css b/xdocs/sources/xslt-resources/apache-xalan.css
new file mode 100644
index 0000000..fc2fa1a
--- /dev/null
+++ b/xdocs/sources/xslt-resources/apache-xalan.css
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */

+

+/*

+ * 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.

+*/

+

+/* This (css) stylesheet renders the xhtml web pages that were generated

+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.

+*/

+

+html > bod  {left:0;}

+body {

+/*  background-color: white; */

+  background-color: #f8f8f0;

+  color: black;

+  padding: 0;

+  margin: 0;

+  font-family: arial, "lucida console", san-serif;

+}

+

+/* Emulate table align=center */

+div.centered, td.centered {

+  text-align: center;

+}

+

+div.centered table {

+  margin: 0 auto;

+  text-align: left;

+}

+

+/*

+ * ID Sections

+ */

+

+#content {

+  width: 80%;

+  float: left;

+  font-size: 12pt;

+  padding-top: 1em;

+  padding-left: 5px;

+  margin-left: 10px;

+  border-left: 1px solid #aaa;

+}

+

+#navLeft {

+  clear: left;

+  width: 15%;

+  float: left;

+  padding: 2px;

+  margin-left: 1%;

+  color: red;

+  position: relative;

+  left: 1px;

+  background-color: #eee;

+}

+

+.navGroup {

+  color: Black;

+  font-size: 14pt;

+}

+

+

+#title {

+  color: black;

+  background-color: #eee;

+  text-align: center;

+  border-bottom: 1px solid #aaa;

+  padding: 0;

+  vertical-align: middle;

+}

+

+table.HdrTitle {

+  font-size: 18pt;

+}

+

+table.HdrButtons {

+  font-size: 8pt;

+  background-color: #ccf;

+  align: "center";

+  border: "1";

+

+}

+

+#footer {

+    clear: both;

+    margin: 0 2em;

+    color: #444;

+    background-color: #ddd;

+    text-align: center;

+    padding: .5em 0;

+    font-size: 75%;

+    border-top: 1px solid #aaa;

+}

+

+/*

+ * Anchors

+ */

+

+a {

+  color: blue;

+  text-decoration: undedrline;

+}

+

+a img {

+  border: 0;

+}

+

+a:hover {

+  text-decoration: none;

+  background-color: #d7c9c9;

+}

+

+/*

+ * Headers

+ */

+

+h1 {}

+

+#title h1 {

+  padding: 1px 0;

+  margin: 0;

+  float: right;

+  width: 60%;

+  font-size: 20pt;

+  text-align: center;

+}

+

+#content h1 { background-color: #8af }

+

+h2 {}

+

+#title h2 {

+  font-size: 14pt;

+  width: 60%;

+  text-alignment: center;

+  padding: 1px 0;

+  margin: 0;

+}

+

+#content h2 { background-color: #9bf }

+

+#content h2.year {

+  background-color: #ddd;

+  text-align: center;

+}

+

+h3 {}

+

+#content h3.monthName {

+  background-color: #333;

+  text-align: center;

+}

+

+#content h3 { background-color: #acf }

+

+h4{}

+

+#content h4.eventTitle {

+  margin-left: 1%;

+  border-bottom: 1px solid blue;

+}

+

+#content h4 { background-color: #cdf }

+

+/*

+ * Tables

+ */

+

+th {}

+

+td {}

+

+th.content {background-color: #4BD }

+td.content {background-color: #AEF }

+

+/*

+ * Lists and navLeft

+ */

+

+ul {}

+

+#navLeft ul {

+  list-style-type: none;

+  margin: 0;

+  padding: 0;

+}

+

+#navLeft ul li {

+  margin: 0;

+}

+

+#navLeft ul li p {

+  margin: 0;

+}

+

+#navLeft ul li ul {

+  list-style-type: none;

+  font-size: 90%;

+  margin: 0 2em;

+}

+

+#navLeft ul li ul li {

+  margin: 0;

+}

+

+/*

+ * Paragraphs

+ */

+

+p {}

+

+#navLeft p {

+  text-align: center;

+  padding: 0 auto;

+  margin: 0;

+}

+

+#footer p {

+  padding: 0;

+}

+

+#content p.topalign {

+  vertical-align: middle;

+  height: 2em;

+  text-align: center;

+  width: 100%;

+  padding: .5em;

+  border: 1px solid #ddd;

+}

+

+#content p.topalign img {

+  vertical-align: middle;

+  text-align: text-middle;

+}

+

+#content p.quote {

+  color:black;

+  font-style: italic;

+  font-size: 110%;

+  margin-left: 10%;

+  margin-right: 10%;

+  padding 1em;

+  border: 1px solid #ddd;

+  text-align: center;

+}

+

+#content p.navbar {

+  font-size: 90%;

+  text-align: center;

+  border-top: 1px solid #ddd;

+  border-bottom: 1px solid #ddd;

+}

+

+blockquote {}

+

+blockquote.note {

+  font-size: 80%;

+  border: 1px solid #ddd;

+  background-color: #eee;

+}

+

+td.noteImg {

+  background-color: white;

+  border: 0;

+}

+

+td.noteTxt {

+  background-color: white;

+  font-size: 120%;

+  border: 2px solid #ddd;

+  background-color: #eee;

+}

+

+/**

+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD

+ ** <caution>..</caution> and <warning>..</warning>

+ **

+ * 

+ * td.cautionImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.cautionTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+ * 

+ * td.warningImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.warningTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+**/

+

+

+blockquote.source {

+  font-size: 75%;

+}

+

+code {

+  font-size: 75%;

+}

+

+

+/*

+ * Special Table (note)

+ */

+

+#notediv div { background-color: white }

+

+table.note {

+  width: 90%;

+}

+

+td.noteImg {

+  background-color: white;

+  vertical-align: top;

+  border: 0;

+  width: 24;

+}

+

+td.noteTxt {

+  color: black;

+  background-color: #eee;

+  font-size: 90%;

+  border: 2px solid;

+  border-color: #ccc;

+}

+

+

+/*

+ * Images

+ */

+

+img {}

+

+

+#footer img {

+  border: 0;

+}

+

+

+/*

+ * Document Divisions

+ */

+

+div {}

+

+/*

+ * Pre

+ */

+

+pre {}

+

+

+/*

+ * Generic Classes

+ */

+

+.indented {

+  margin-left: 3%;

+}

+

+.topBanner {

+  float: right;

+  margin: 0;

+  border: 0;

+  vertical-align: middle;

+}

+

+.noborder {

+  border: 0;

+  margin: 0;

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

diff --git a/xdocs/sources/xslt-resources/asf_logo.png b/xdocs/sources/xslt-resources/asf_logo.png
new file mode 100644
index 0000000..66c34f0
--- /dev/null
+++ b/xdocs/sources/xslt-resources/asf_logo.png
Binary files differ
diff --git a/xdocs/sources/xslt-resources/note.gif b/xdocs/sources/xslt-resources/note.gif
new file mode 100644
index 0000000..3394222
--- /dev/null
+++ b/xdocs/sources/xslt-resources/note.gif
Binary files differ
diff --git a/xdocs/style/dtd/blocks.ent b/xdocs/style/dtd/blocks.ent
new file mode 100644
index 0000000..5f352d1
--- /dev/null
+++ b/xdocs/style/dtd/blocks.ent
@@ -0,0 +1,40 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- BLOCKS ENTITY -->

+<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">

+

+<!-- import the external markup.ent dtd -->

+<!ENTITY % markupEntity SYSTEM "markup.ent">

+%markupEntity;

+

+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">

+

+<!ELEMENT p %content;>

+<!ELEMENT note %content;>

+

+<!ELEMENT ul (li|ol|ul)+>

+<!ELEMENT ol (li|ol|ul)+>

+<!ELEMENT li %content;>

+

+<!ELEMENT gloss (label|item)+>

+<!ELEMENT label %content;>

+<!ELEMENT item %content;>

+

+<!ELEMENT source (#PCDATA)>

+

+<!ELEMENT table (tr)+>

+

+<!ELEMENT tr (tn|th|td)+>

+

+<!ELEMENT tn EMPTY>

+<!ATTLIST tn colspan CDATA "1"

+             rowspan CDATA "1">

+

+<!ELEMENT th %content;>

+<!ATTLIST th colspan CDATA "1"

+             rowspan CDATA "1">

+

+<!ELEMENT td %content;>

+<!ATTLIST td colspan CDATA "1"

+             rowspan CDATA "1">

+             
\ No newline at end of file
diff --git a/xdocs/style/dtd/book.dtd b/xdocs/style/dtd/book.dtd
new file mode 100644
index 0000000..820b5f8
--- /dev/null
+++ b/xdocs/style/dtd/book.dtd
@@ -0,0 +1,56 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK BOOK DTD -->

+

+<!-- import the external source-specific dtd -->

+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">

+%externalEntity;

+

+<!ELEMENT book (resources?|document|hidden|faqs|changes|group|external|separator)+>

+<!ATTLIST book title     CDATA #REQUIRED

+               copyright CDATA #IMPLIED>

+               

+<!ELEMENT resources EMPTY>

+<!ATTLIST resources source CDATA #REQUIRED>

+

+<!ELEMENT document EMPTY>

+<!ATTLIST document id     ID    #REQUIRED

+                   source CDATA #REQUIRED

+                   label  CDATA #REQUIRED>

+

+<!ELEMENT hidden EMPTY>

+<!ATTLIST hidden id     ID    #REQUIRED

+                 source CDATA #REQUIRED>

+

+<!ELEMENT faqs EMPTY>

+<!ATTLIST faqs id     ID    #REQUIRED

+               source CDATA #REQUIRED

+               label  CDATA #REQUIRED>

+

+<!ELEMENT changes EMPTY>

+<!ATTLIST changes id     ID    #REQUIRED

+                  source CDATA #REQUIRED

+                  label  CDATA #REQUIRED>

+

+<!-- (entry) not supported in markup, cannot be tested -->

+<!-- (group) not to have entry children, only standard children -->

+<!-- <!ELEMENT group (entry)+> -->

+

+<!ELEMENT group (document|faqs|changes|external)+> 

+<!ATTLIST group id    ID    #IMPLIED

+                label CDATA #REQUIRED>

+

+<!-- (entry) not supported in markup, cannot be tested

+<!ELEMENT entry EMPTY>

+<!ATTLIST entry id     ID    #REQUIRED

+                source CDATA #REQUIRED>

+-->

+

+<!ELEMENT external EMPTY>

+<!ATTLIST external label CDATA #REQUIRED

+                   href  CDATA #REQUIRED>

+                   

+<!ELEMENT separator EMPTY>

+

+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->

+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/changes.dtd b/xdocs/style/dtd/changes.dtd
new file mode 100644
index 0000000..661affa
--- /dev/null
+++ b/xdocs/style/dtd/changes.dtd
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK CHANGES DTD -->

+

+<!-- import the external markup.ent dtd -->

+<!ENTITY % markupEntity SYSTEM "markup.ent">

+%markupEntity;

+

+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">

+

+<!ELEMENT changes (release)+>

+<!ATTLIST changes title CDATA #REQUIRED>

+

+<!ELEMENT release ((features,fixes)|(features)|(fixes))>

+<!ATTLIST release version CDATA #REQUIRED

+                  date    CDATA #IMPLIED>

+

+<!ELEMENT features (feat)+>

+<!ELEMENT fixes (fix)+>

+

+<!ELEMENT feat %content;>

+<!ELEMENT fix %content;>

+

+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/characters.ent b/xdocs/style/dtd/characters.ent
new file mode 100644
index 0000000..036c06d
--- /dev/null
+++ b/xdocs/style/dtd/characters.ent
@@ -0,0 +1,297 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- CHARACTERS ENTITY -->

+

+<!-- Latin A -->

+<!ENTITY nbsp     "&#160;">  <!-- U+00A0 ISOnum    - no-break space = non-breaking space                                   -->

+<!ENTITY iexcl    "&#161;">  <!-- U+00A1 ISOnum    - inverted exclamation mark                                             -->

+<!ENTITY cent     "&#162;">  <!-- U+00A2 ISOnum    - cent sign                                                             -->

+<!ENTITY pound    "&#163;">  <!-- U+00A3 ISOnum    - pound sign                                                            -->

+<!ENTITY curren   "&#164;">  <!-- U+00A4 ISOnum    - currency sign                                                         -->

+<!ENTITY yen      "&#165;">  <!-- U+00A5 ISOnum    - yen sign = yuan sign                                                  -->

+<!ENTITY brvbar   "&#166;">  <!-- U+00A6 ISOnum    - broken bar = broken vertical bar                                      -->

+<!ENTITY sect     "&#167;">  <!-- U+00A7 ISOnum    - section sign                                                          -->

+<!ENTITY uml      "&#168;">  <!-- U+00A8 ISOdia    - diaeresis = spacing diaeresis                                         -->

+<!ENTITY copy     "&#169;">  <!-- U+00A9 ISOnum    - copyright sign                                                        -->

+<!ENTITY ordf     "&#170;">  <!-- U+00AA ISOnum    - feminine ordinal indicator                                            -->

+<!ENTITY laquo    "&#171;">  <!-- U+00AB ISOnum    - left-pointing double angle quotation mark = left pointing guillemet   -->

+<!ENTITY not      "&#172;">  <!-- U+00AC ISOnum    - not sign                                                              -->

+<!ENTITY shy      "&#173;">  <!-- U+00AD ISOnum    - soft hyphen = discretionary hyphen                                    -->

+<!ENTITY reg      "&#174;">  <!-- U+00AE ISOnum    - registered sign = registered trade mark sign                          -->

+<!ENTITY macr     "&#175;">  <!-- U+00AF ISOdia    - macron = spacing macron = overline = APL overbar                      -->

+<!ENTITY deg      "&#176;">  <!-- U+00B0 ISOnum    - degree sign                                                           -->

+<!ENTITY plusmn   "&#177;">  <!-- U+00B1 ISOnum    - plus-minus sign = plus-or-minus sign                                  -->

+<!ENTITY sup2     "&#178;">  <!-- U+00B2 ISOnum    - superscript two = superscript digit two = squared                     -->

+<!ENTITY sup3     "&#179;">  <!-- U+00B3 ISOnum    - superscript three = superscript digit three = cubed                   -->

+<!ENTITY acute    "&#180;">  <!-- U+00B4 ISOdia    - acute accent = spacing acute                                          -->

+<!ENTITY micro    "&#181;">  <!-- U+00B5 ISOnum    - micro sign                                                            -->

+<!ENTITY para     "&#182;">  <!-- U+00B6 ISOnum    - pilcrow sign = paragraph sign                                         -->

+<!ENTITY middot   "&#183;">  <!-- U+00B7 ISOnum    - middle dot = Georgian comma = Greek middle dot                        -->

+<!ENTITY cedil    "&#184;">  <!-- U+00B8 ISOdia    - cedilla = spacing cedilla                                             -->

+<!ENTITY sup1     "&#185;">  <!-- U+00B9 ISOnum    - superscript one = superscript digit one                               -->

+<!ENTITY ordm     "&#186;">  <!-- U+00BA ISOnum    - masculine ordinal indicator                                           -->

+<!ENTITY raquo    "&#187;">  <!-- U+00BB ISOnum    - right-pointing double angle quotation mark = right pointing guillemet -->

+<!ENTITY frac14   "&#188;">  <!-- U+00BC ISOnum    - vulgar fraction one quarter = fraction one quarter                    -->

+<!ENTITY frac12   "&#189;">  <!-- U+00BD ISOnum    - vulgar fraction one half = fraction one half                          -->

+<!ENTITY frac34   "&#190;">  <!-- U+00BE ISOnum    - vulgar fraction three quarters = fraction three quarters              -->

+<!ENTITY iquest   "&#191;">  <!-- U+00BF ISOnum    - inverted question mark = turned question mark                         -->

+<!ENTITY Agrave   "&#192;">  <!-- U+00C0 ISOlat1   - latin capital letter A with grave = latin capital letter A grave      -->

+<!ENTITY Aacute   "&#193;">  <!-- U+00C1 ISOlat1   - latin capital letter A with acute                                     -->

+<!ENTITY Acirc    "&#194;">  <!-- U+00C2 ISOlat1   - latin capital letter A with circumflex                                -->

+<!ENTITY Atilde   "&#195;">  <!-- U+00C3 ISOlat1   - latin capital letter A with tilde                                     -->

+<!ENTITY Auml     "&#196;">  <!-- U+00C4 ISOlat1   - latin capital letter A with diaeresis                                 -->

+<!ENTITY Aring    "&#197;">  <!-- U+00C5 ISOlat1   - latin capital letter A with ring above = latin capital letter A ring  -->

+<!ENTITY AElig    "&#198;">  <!-- U+00C6 ISOlat1   - latin capital letter AE = latin capital ligature AE                   -->

+<!ENTITY Ccedil   "&#199;">  <!-- U+00C7 ISOlat1   - latin capital letter C with cedilla                                   -->

+<!ENTITY Egrave   "&#200;">  <!-- U+00C8 ISOlat1   - latin capital letter E with grave                                     -->

+<!ENTITY Eacute   "&#201;">  <!-- U+00C9 ISOlat1   - latin capital letter E with acute                                     -->

+<!ENTITY Ecirc    "&#202;">  <!-- U+00CA ISOlat1   - latin capital letter E with circumflex                                -->

+<!ENTITY Euml     "&#203;">  <!-- U+00CB ISOlat1   - latin capital letter E with diaeresis                                 -->

+<!ENTITY Igrave   "&#204;">  <!-- U+00CC ISOlat1   - latin capital letter I with grave                                     -->

+<!ENTITY Iacute   "&#205;">  <!-- U+00CD ISOlat1   - latin capital letter I with acute                                     -->

+<!ENTITY Icirc    "&#206;">  <!-- U+00CE ISOlat1   - latin capital letter I with circumflex                                -->

+<!ENTITY Iuml     "&#207;">  <!-- U+00CF ISOlat1   - latin capital letter I with diaeresis                                 -->

+<!ENTITY ETH      "&#208;">  <!-- U+00D0 ISOlat1   - latin capital letter ETH                                              -->

+<!ENTITY Ntilde   "&#209;">  <!-- U+00D1 ISOlat1   - latin capital letter N with tilde                                     -->

+<!ENTITY Ograve   "&#210;">  <!-- U+00D2 ISOlat1   - latin capital letter O with grave                                     -->

+<!ENTITY Oacute   "&#211;">  <!-- U+00D3 ISOlat1   - latin capital letter O with acute                                     -->

+<!ENTITY Ocirc    "&#212;">  <!-- U+00D4 ISOlat1   - latin capital letter O with circumflex                                -->

+<!ENTITY Otilde   "&#213;">  <!-- U+00D5 ISOlat1   - latin capital letter O with tilde                                     -->

+<!ENTITY Ouml     "&#214;">  <!-- U+00D6 ISOlat1   - latin capital letter O with diaeresis                                 -->

+<!ENTITY times    "&#215;">  <!-- U+00D7 ISOnum    - multiplication sign                                                   -->

+<!ENTITY Oslash   "&#216;">  <!-- U+00D8 ISOlat1   - latin capital letter O with stroke = latin capital letter O slash     -->

+<!ENTITY Ugrave   "&#217;">  <!-- U+00D9 ISOlat1   - latin capital letter U with grave                                     -->

+<!ENTITY Uacute   "&#218;">  <!-- U+00DA ISOlat1   - latin capital letter U with acute                                     -->

+<!ENTITY Ucirc    "&#219;">  <!-- U+00DB ISOlat1   - latin capital letter U with circumflex                                -->

+<!ENTITY Uuml     "&#220;">  <!-- U+00DC ISOlat1   - latin capital letter U with diaeresis                                 -->

+<!ENTITY Yacute   "&#221;">  <!-- U+00DD ISOlat1   - latin capital letter Y with acute                                     -->

+<!ENTITY THORN    "&#222;">  <!-- U+00DE ISOlat1   - latin capital letter THORN                                            -->

+<!ENTITY szlig    "&#223;">  <!-- U+00DF ISOlat1   - latin small letter sharp s = ess-zed                                  -->

+<!ENTITY agrave   "&#224;">  <!-- U+00E0 ISOlat1   - latin small letter a with grave = latin small letter a grave          -->

+<!ENTITY aacute   "&#225;">  <!-- U+00E1 ISOlat1   - latin small letter a with acute                                       -->

+<!ENTITY acirc    "&#226;">  <!-- U+00E2 ISOlat1   - latin small letter a with circumflex                                  -->

+<!ENTITY atilde   "&#227;">  <!-- U+00E3 ISOlat1   - latin small letter a with tilde                                       -->

+<!ENTITY auml     "&#228;">  <!-- U+00E4 ISOlat1   - latin small letter a with diaeresis                                   -->

+<!ENTITY aring    "&#229;">  <!-- U+00E5 ISOlat1   - latin small letter a with ring above = latin small letter a ring      -->

+<!ENTITY aelig    "&#230;">  <!-- U+00E6 ISOlat1   - latin small letter ae = latin small ligature ae                       -->

+<!ENTITY ccedil   "&#231;">  <!-- U+00E7 ISOlat1   - latin small letter c with cedilla                                     -->

+<!ENTITY egrave   "&#232;">  <!-- U+00E8 ISOlat1   - latin small letter e with grave                                       -->

+<!ENTITY eacute   "&#233;">  <!-- U+00E9 ISOlat1   - latin small letter e with acute                                       -->

+<!ENTITY ecirc    "&#234;">  <!-- U+00EA ISOlat1   - latin small letter e with circumflex                                  -->

+<!ENTITY euml     "&#235;">  <!-- U+00EB ISOlat1   - latin small letter e with diaeresis                                   -->

+<!ENTITY igrave   "&#236;">  <!-- U+00EC ISOlat1   - latin small letter i with grave                                       -->

+<!ENTITY iacute   "&#237;">  <!-- U+00ED ISOlat1   - latin small letter i with acute                                       -->

+<!ENTITY icirc    "&#238;">  <!-- U+00EE ISOlat1   - latin small letter i with circumflex                                  -->

+<!ENTITY iuml     "&#239;">  <!-- U+00EF ISOlat1   - latin small letter i with diaeresis                                   -->

+<!ENTITY eth      "&#240;">  <!-- U+00F0 ISOlat1   - latin small letter eth                                                -->

+<!ENTITY ntilde   "&#241;">  <!-- U+00F1 ISOlat1   - latin small letter n with tilde                                       -->

+<!ENTITY ograve   "&#242;">  <!-- U+00F2 ISOlat1   - latin small letter o with grave                                       -->

+<!ENTITY oacute   "&#243;">  <!-- U+00F3 ISOlat1   - latin small letter o with acute                                       -->

+<!ENTITY ocirc    "&#244;">  <!-- U+00F4 ISOlat1   - latin small letter o with circumflex                                  -->

+<!ENTITY otilde   "&#245;">  <!-- U+00F5 ISOlat1   - latin small letter o with tilde                                       -->

+<!ENTITY ouml     "&#246;">  <!-- U+00F6 ISOlat1   - latin small letter o with diaeresis                                   -->

+<!ENTITY divide   "&#247;">  <!-- U+00F7 ISOnum    - division sign                                                         -->

+<!ENTITY oslash   "&#248;">  <!-- U+00F8 ISOlat1   - latin small letter o with stroke = latin small letter o slash         -->

+<!ENTITY ugrave   "&#249;">  <!-- U+00F9 ISOlat1   - latin small letter u with grave                                       -->

+<!ENTITY uacute   "&#250;">  <!-- U+00FA ISOlat1   - latin small letter u with acute                                       -->

+<!ENTITY ucirc    "&#251;">  <!-- U+00FB ISOlat1   - latin small letter u with circumflex                                  -->

+<!ENTITY uuml     "&#252;">  <!-- U+00FC ISOlat1   - latin small letter u with diaeresis                                   -->

+<!ENTITY yacute   "&#253;">  <!-- U+00FD ISOlat1   - latin small letter y with acute                                       -->

+<!ENTITY thorn    "&#254;">  <!-- U+00FE ISOlat1   - latin small letter thorn                                              -->

+<!ENTITY yuml     "&#255;">  <!-- U+00FF ISOlat1   - latin small letter y with diaeresis                                   -->

+

+

+<!-- C0 Controls and Basic Latin -->

+<!ENTITY quot     "&#34;">   <!-- U+0022 ISOnum    - quotation mark = APL quote                                            -->

+<!ENTITY amp      "&#38;">   <!-- U+0026 ISOnum    - ampersand                                                             -->

+<!ENTITY lt       "&#60;">   <!-- U+003C ISOnum    - less-than sign                                                        -->

+<!ENTITY gt       "&#62;">   <!-- U+003E ISOnum    - greater-than sign                                                     -->

+

+<!-- Latin Extended-A -->

+<!ENTITY OElig    "&#338;">  <!-- U+0152 ISOlat2   - latin capital ligature OE                                             -->

+<!ENTITY oelig    "&#339;">  <!-- U+0153 ISOlat2   - latin small ligature oe                                               -->

+

+<!-- ligature is a misnomer, this is a separate character in some languages -->

+<!ENTITY Scaron   "&#352;">  <!-- U+0160 ISOlat2   - latin capital letter S with caron                                     -->

+<!ENTITY scaron   "&#353;">  <!-- U+0161 ISOlat2   - latin small letter s with caron                                       -->

+<!ENTITY Yuml     "&#376;">  <!-- U+0178 ISOlat2   - latin capital letter Y with diaeresis                                 -->

+

+<!-- Spacing Modifier Letters -->

+<!ENTITY circ     "&#710;" > <!-- U+02C6 ISOpub    - modifier letter circumflex accent                                     -->

+<!ENTITY tilde    "&#732;" > <!-- U+02DC ISOdia    - small tilde                                                           -->

+

+<!-- General Punctuation -->

+<!ENTITY ensp     "&#8194;"> <!-- U+2002 ISOpub    - en space                                                              -->

+<!ENTITY emsp     "&#8195;"> <!-- U+2003 ISOpub    - em space                                                              -->

+<!ENTITY thinsp   "&#8201;"> <!-- U+2009 ISOpub    - thin space                                                            -->

+<!ENTITY zwnj     "&#8204;"> <!-- U+200C RFC 2070  - zero width non-joiner                                                 -->

+<!ENTITY zwj      "&#8205;"> <!-- U+200D RFC 2070  - zero width joiner                                                     -->

+<!ENTITY lrm      "&#8206;"> <!-- U+200E RFC 2070  - left-to-right mark                                                    -->

+<!ENTITY rlm      "&#8207;"> <!-- U+200F RFC 2070  - right-to-left mark                                                    -->

+<!ENTITY ndash    "&#8211;"> <!-- U+2013 ISOpub    - en dash                                                               -->

+<!ENTITY mdash    "&#8212;"> <!-- U+2014 ISOpub    - em dash                                                               -->

+<!ENTITY lsquo    "&#8216;"> <!-- U+2018 ISOnum    - left single quotation mark                                            -->

+<!ENTITY rsquo    "&#8217;"> <!-- U+2019 ISOnum    - right single quotation mark                                           -->

+<!ENTITY sbquo    "&#8218;"> <!-- U+201A NEW       - single low-9 quotation mark                                           -->

+<!ENTITY ldquo    "&#8220;"> <!-- U+201C ISOnum    - left double quotation mark                                            -->

+<!ENTITY rdquo    "&#8221;"> <!-- U+201D ISOnum    - right double quotation mark,                                          -->

+<!ENTITY bdquo    "&#8222;"> <!-- U+201E NEW       - double low-9 quotation mark                                           -->

+<!ENTITY dagger   "&#8224;"> <!-- U+2020 ISOpub    - dagger                                                                -->

+<!ENTITY Dagger   "&#8225;"> <!-- U+2021 ISOpub    - double dagger                                                         -->

+<!ENTITY permil   "&#8240;"> <!-- U+2030 ISOtech   - per mille sign                                                        -->

+<!ENTITY lsaquo   "&#8249;"> <!-- U+2039 ISO prop. - single left-pointing angle quotation mark                             -->

+

+<!-- lsaquo is proposed but not yet ISO standardized -->

+<!ENTITY rsaquo   "&#8250;"> <!-- U+203A ISO prop. -   single right-pointing angle quotation mark                          -->

+

+<!-- rsaquo is proposed but not yet ISO standardized -->

+<!ENTITY euro     "&#8364;"> <!-- U+20AC NEW       -   euro sign                                                           -->

+

+<!-- Latin Extended-B -->

+<!ENTITY fnof     "&#402;">  <!-- U+0192 ISOtech   - latin small f with hook = function = florin                           -->

+

+<!-- Greek -->

+<!ENTITY Alpha    "&#913;">  <!-- U+0391           - greek capital letter alpha                                            -->

+<!ENTITY Beta     "&#914;">  <!-- U+0392           - greek capital letter beta                                             -->

+<!ENTITY Gamma    "&#915;">  <!-- U+0393 ISOgrk3   - greek capital letter gamma                                            -->

+<!ENTITY Delta    "&#916;">  <!-- U+0394 ISOgrk3   - greek capital letter delta                                            -->

+<!ENTITY Epsilon  "&#917;">  <!-- U+0395           - greek capital letter epsilon                                          -->

+<!ENTITY Zeta     "&#918;">  <!-- U+0396           - greek capital letter zeta                                             -->

+<!ENTITY Eta      "&#919;">  <!-- U+0397           - greek capital letter eta                                              -->

+<!ENTITY Theta    "&#920;">  <!-- U+0398 ISOgrk3   - greek capital letter theta                                            -->

+<!ENTITY Iota     "&#921;">  <!-- U+0399           - greek capital letter iota                                             -->

+<!ENTITY Kappa    "&#922;">  <!-- U+039A           - greek capital letter kappa                                            -->

+<!ENTITY Lambda   "&#923;">  <!-- U+039B ISOgrk3   - greek capital letter lambda                                           -->

+<!ENTITY Mu       "&#924;">  <!-- U+039C           - greek capital letter mu                                               -->

+<!ENTITY Nu       "&#925;">  <!-- U+039D           - greek capital letter nu                                               -->

+<!ENTITY Xi       "&#926;">  <!-- U+039E ISOgrk3   - greek capital letter xi                                               -->

+<!ENTITY Omicron  "&#927;">  <!-- U+039F           - greek capital letter omicron                                          -->

+<!ENTITY Pi       "&#928;">  <!-- U+03A0 ISOgrk3   - greek capital letter pi                                               -->

+<!ENTITY Rho      "&#929;">  <!-- U+03A1           - greek capital letter rho                                              -->

+<!ENTITY Sigma    "&#931;">  <!-- U+03A3 ISOgrk3   - greek capital letter sigma                                            -->

+<!ENTITY Tau      "&#932;">  <!-- U+03A4           - greek capital letter tau                                              -->

+<!ENTITY Upsilon  "&#933;">  <!-- U+03A5 ISOgrk3   - greek capital letter upsilon                                          -->

+<!ENTITY Phi      "&#934;">  <!-- U+03A6 ISOgrk3   - greek capital letter phi                                              -->

+<!ENTITY Chi      "&#935;">  <!-- U+03A7           - greek capital letter chi                                              -->

+<!ENTITY Psi      "&#936;">  <!-- U+03A8 ISOgrk3   - greek capital letter psi                                              -->

+<!ENTITY Omega    "&#937;">  <!-- U+03A9 ISOgrk3   - greek capital letter omega                                            -->

+<!ENTITY alpha    "&#945;">  <!-- U+03B1 ISOgrk3   - greek small letter alpha                                              -->

+<!ENTITY beta     "&#946;">  <!-- U+03B2 ISOgrk3   - greek small letter beta                                               -->

+<!ENTITY gamma    "&#947;">  <!-- U+03B3 ISOgrk3   - greek small letter gamma                                              -->

+<!ENTITY delta    "&#948;">  <!-- U+03B4 ISOgrk3   - greek small letter delta                                              -->

+<!ENTITY epsilon  "&#949;">  <!-- U+03B5 ISOgrk3   - greek small letter epsilon                                            -->

+<!ENTITY zeta     "&#950;">  <!-- U+03B6 ISOgrk3   - greek small letter zeta                                               -->

+<!ENTITY eta      "&#951;">  <!-- U+03B7 ISOgrk3   - greek small letter eta                                                -->

+<!ENTITY theta    "&#952;">  <!-- U+03B8 ISOgrk3   - greek small letter theta                                              -->

+<!ENTITY iota     "&#953;">  <!-- U+03B9 ISOgrk3   - greek small letter iota                                               -->

+<!ENTITY kappa    "&#954;">  <!-- U+03BA ISOgrk3   - greek small letter kappa                                              -->

+<!ENTITY lambda   "&#955;">  <!-- U+03BB ISOgrk3   - greek small letter lambda                                             -->

+<!ENTITY mu       "&#956;">  <!-- U+03BC ISOgrk3   - greek small letter mu                                                 -->

+<!ENTITY nu       "&#957;">  <!-- U+03BD ISOgrk3   - greek small letter nu                                                 -->

+<!ENTITY xi       "&#958;">  <!-- U+03BE ISOgrk3   - greek small letter xi                                                 -->

+<!ENTITY omicron  "&#959;">  <!-- U+03BF NEW       - greek small letter omicron                                            -->

+<!ENTITY pi       "&#960;">  <!-- U+03C0 ISOgrk3   - greek small letter pi                                                 -->

+<!ENTITY rho      "&#961;">  <!-- U+03C1 ISOgrk3   - greek small letter rho                                                -->

+<!ENTITY sigmaf   "&#962;">  <!-- U+03C2 ISOgrk3   - greek small letter final sigma                                        -->

+<!ENTITY sigma    "&#963;">  <!-- U+03C3 ISOgrk3   - greek small letter sigma                                              -->

+<!ENTITY tau      "&#964;">  <!-- U+03C4 ISOgrk3   - greek small letter tau                                                -->

+<!ENTITY upsilon  "&#965;">  <!-- U+03C5 ISOgrk3   - greek small letter upsilon                                            -->

+<!ENTITY phi      "&#966;">  <!-- U+03C6 ISOgrk3   - greek small letter phi                                                -->

+<!ENTITY chi      "&#967;">  <!-- U+03C7 ISOgrk3   - greek small letter chi                                                -->

+<!ENTITY psi      "&#968;">  <!-- U+03C8 ISOgrk3   - greek small letter psi                                                -->

+<!ENTITY omega    "&#969;">  <!-- U+03C9 ISOgrk3   - greek small letter omega                                              -->

+<!ENTITY thetasym "&#977;">  <!-- U+03D1 NEW       - greek small letter theta symbol                                       -->

+<!ENTITY upsih    "&#978;">  <!-- U+03D2 NEW       - greek upsilon with hook symbol                                        -->

+<!ENTITY piv      "&#982;">  <!-- U+03D6 ISOgrk3   - greek pi symbol                                                       -->

+

+<!-- General Punctuation -->

+<!ENTITY bull     "&#8226;"> <!-- U+2022 ISOpub    - bullet = black small circle                                           -->

+<!ENTITY hellip   "&#8230;"> <!-- U+2026 ISOpub    - horizontal ellipsis = three dot leader                                -->

+<!ENTITY prime    "&#8242;"> <!-- U+2032 ISOtech   - prime = minutes = feet                                                -->

+<!ENTITY Prime    "&#8243;"> <!-- U+2033 ISOtech   - double prime = seconds = inches                                       -->

+<!ENTITY oline    "&#8254;"> <!-- U+203E NEW       - overline = spacing overscore                                          -->

+<!ENTITY frasl    "&#8260;"> <!-- U+2044 NEW       - fraction slash                                                        -->

+

+<!-- Letterlike Symbols -->

+<!ENTITY weierp   "&#8472;"> <!-- U+2118 ISOamso   - script capital P = power set = Weierstrass p                          -->

+<!ENTITY image    "&#8465;"> <!-- U+2111 ISOamso   - blackletter capital I = imaginary part                                -->

+<!ENTITY real     "&#8476;"> <!-- U+211C ISOamso   - blackletter capital R = real part symbol                              -->

+<!ENTITY trade    "&#8482;"> <!-- U+2122 ISOnum    - trade mark sign                                                       -->

+<!ENTITY alefsym  "&#8501;"> <!-- U+2135 NEW       - alef symbol = first transfinite cardinal                              -->

+

+<!-- Arrows -->

+<!ENTITY larr     "&#8592;"> <!-- U+2190 ISOnum    - leftwards arrow                                                       -->

+<!ENTITY uarr     "&#8593;"> <!-- U+2191 ISOnum    - upwards arrow                                                         -->

+<!ENTITY rarr     "&#8594;"> <!-- U+2192 ISOnum    - rightwards arrow                                                      -->

+<!ENTITY darr     "&#8595;"> <!-- U+2193 ISOnum    - downwards arrow                                                       -->

+<!ENTITY harr     "&#8596;"> <!-- U+2194 ISOamsa   - left right arrow                                                      -->

+<!ENTITY crarr    "&#8629;"> <!-- U+21B5 NEW       - downwards arrow with corner leftwards = carriage return               -->

+<!ENTITY lArr     "&#8656;"> <!-- U+21D0 ISOtech   - leftwards double arrow                                                -->

+<!ENTITY uArr     "&#8657;"> <!-- U+21D1 ISOamsa   - upwards double arrow                                                  -->

+<!ENTITY rArr     "&#8658;"> <!-- U+21D2 ISOtech   - rightwards double arrow                                               -->

+<!ENTITY dArr     "&#8659;"> <!-- U+21D3 ISOamsa   - downwards double arrow                                                -->

+<!ENTITY hArr     "&#8660;"> <!-- U+21D4 ISOamsa   - left right double arrow                                               -->

+

+<!-- Mathematical Operators -->

+<!ENTITY forall   "&#8704;"> <!-- U+2200 ISOtech   - for all                                                               -->

+<!ENTITY part     "&#8706;"> <!-- U+2202 ISOtech   - partial differential                                                  -->

+<!ENTITY exist    "&#8707;"> <!-- U+2203 ISOtech   - there exists                                                          -->

+<!ENTITY empty    "&#8709;"> <!-- U+2205 ISOamso   - empty set = null set = diameter                                       -->

+<!ENTITY nabla    "&#8711;"> <!-- U+2207 ISOtech   - nabla = backward difference                                           -->

+<!ENTITY isin     "&#8712;"> <!-- U+2208 ISOtech   - element of                                                            -->

+<!ENTITY notin    "&#8713;"> <!-- U+2209 ISOtech   - not an element of                                                     -->

+<!ENTITY ni       "&#8715;"> <!-- U+220B ISOtech   - contains as member                                                    -->

+<!ENTITY prod     "&#8719;"> <!-- U+220F ISOamsb   - n-ary product = product sign                                          -->

+<!ENTITY sum      "&#8721;"> <!-- U+2211 ISOamsb   - n-ary sumation                                                        -->

+<!ENTITY minus    "&#8722;"> <!-- U+2212 ISOtech   - minus sign                                                            -->

+<!ENTITY lowast   "&#8727;"> <!-- U+2217 ISOtech   - asterisk operator                                                     -->

+<!ENTITY radic    "&#8730;"> <!-- U+221A ISOtech   - square root = radical sign                                            -->

+<!ENTITY prop     "&#8733;"> <!-- U+221D ISOtech   - proportional to                                                       -->

+<!ENTITY infin    "&#8734;"> <!-- U+221E ISOtech   - infinity                                                              -->

+<!ENTITY ang      "&#8736;"> <!-- U+2220 ISOamso   - angle                                                                 -->

+<!ENTITY and      "&#8743;"> <!-- U+2227 ISOtech   - logical and = wedge                                                   -->

+<!ENTITY or       "&#8744;"> <!-- U+2228 ISOtech   - logical or = vee                                                      -->

+<!ENTITY cap      "&#8745;"> <!-- U+2229 ISOtech   - intersection = cap                                                    -->

+<!ENTITY cup      "&#8746;"> <!-- U+222A ISOtech   - union = cup                                                           -->

+<!ENTITY int      "&#8747;"> <!-- U+222B ISOtech   - integral                                                              -->

+<!ENTITY there4   "&#8756;"> <!-- U+2234 ISOtech   - therefore                                                             -->

+<!ENTITY sim      "&#8764;"> <!-- U+223C ISOtech   - tilde operator = varies with = similar to                             -->

+<!ENTITY cong     "&#8773;"> <!-- U+2245 ISOtech   - approximately equal to                                                -->

+<!ENTITY asymp    "&#8776;"> <!-- U+2248 ISOamsr   - almost equal to = asymptotic to                                       -->

+<!ENTITY ne       "&#8800;"> <!-- U+2260 ISOtech   - not equal to                                                          -->

+<!ENTITY equiv    "&#8801;"> <!-- U+2261 ISOtech   - identical to                                                          -->

+<!ENTITY le       "&#8804;"> <!-- U+2264 ISOtech   - less-than or equal to                                                 -->

+<!ENTITY ge       "&#8805;"> <!-- U+2265 ISOtech   - greater-than or equal to                                              -->

+<!ENTITY sub      "&#8834;"> <!-- U+2282 ISOtech   - subset of                                                             -->

+<!ENTITY sup      "&#8835;"> <!-- U+2283 ISOtech   - superset of                                                           -->

+<!ENTITY nsub     "&#8836;"> <!-- U+2284 ISOamsn   - not a subset of                                                       -->

+<!ENTITY sube     "&#8838;"> <!-- U+2286 ISOtech   - subset of or equal to                                                 -->

+<!ENTITY supe     "&#8839;"> <!-- U+2287 ISOtech   - superset of or equal to                                               -->

+<!ENTITY oplus    "&#8853;"> <!-- U+2295 ISOamsb   - circled plus = direct sum                                             -->

+<!ENTITY otimes   "&#8855;"> <!-- U+2297 ISOamsb   - circled times = vector product                                        -->

+<!ENTITY perp     "&#8869;"> <!-- U+22A5 ISOtech   - up tack = orthogonal to = perpendicular                               -->

+<!ENTITY sdot     "&#8901;"> <!-- U+22C5 ISOamsb   - dot operator                                                          -->

+

+<!-- Miscellaneous Technical -->

+<!ENTITY lceil    "&#8968;"> <!-- U+2308 ISOamsc   - left ceiling = apl upstile                                            -->

+<!ENTITY rceil    "&#8969;"> <!-- U+2309 ISOamsc   - right ceiling                                                         -->

+<!ENTITY lfloor   "&#8970;"> <!-- U+230A ISOamsc   - left floor = apl downstile                                            -->

+<!ENTITY rfloor   "&#8971;"> <!-- U+230B ISOamsc   - right floor                                                           -->

+<!ENTITY lang     "&#9001;"> <!-- U+2329 ISOtech   - left-pointing angle bracket = bra                                     -->

+<!ENTITY rang     "&#9002;"> <!-- U+232A ISOtech   - right-pointing angle bracket = ket                                    -->

+

+<!-- Geometric Shapes -->

+<!ENTITY loz      "&#9674;"> <!-- U+25CA ISOpub    - lozenge                                                               -->

+

+<!-- Miscellaneous Symbols -->

+<!ENTITY spades   "&#9824;"> <!-- U+2660 ISOpub    - black spade suit                                                      -->

+<!ENTITY clubs    "&#9827;"> <!-- U+2663 ISOpub    - black club suit = shamrock                                            -->

+<!ENTITY hearts   "&#9829;"> <!-- U+2665 ISOpub    - black heart suit = valentine                                          -->

+<!ENTITY diams    "&#9830;"> <!-- U+2666 ISOpub    - black diamond suit                                                    -->

+

+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->

+

+<!-- Portions (C) International Organization for Standardization 1986

+     Permission to copy in any form is granted for use with

+     conforming SGML systems and applications as defined in

+     ISO 8879, provided this notice is included in all copies. -->

diff --git a/xdocs/style/dtd/document.dtd b/xdocs/style/dtd/document.dtd
new file mode 100644
index 0000000..f7cf5b1
--- /dev/null
+++ b/xdocs/style/dtd/document.dtd
@@ -0,0 +1,19 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK DOCUMENT DTD -->

+

+<!-- import the external blocks.ent dtd -->

+<!ENTITY % blocksEntity SYSTEM "blocks.ent">

+%blocksEntity;

+

+<!ELEMENT s1 (s2|%blocks;)*>

+<!ELEMENT s2 (s3|%blocks;)*>

+<!ELEMENT s3 (s4|%blocks;)*>

+<!ELEMENT s4 (%blocks;)*>

+

+<!ATTLIST s1 title CDATA #REQUIRED>

+<!ATTLIST s2 title CDATA #REQUIRED>

+<!ATTLIST s3 title CDATA #REQUIRED>

+<!ATTLIST s4 title CDATA #REQUIRED>

+

+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/faqs.dtd b/xdocs/style/dtd/faqs.dtd
new file mode 100644
index 0000000..4b24206
--- /dev/null
+++ b/xdocs/style/dtd/faqs.dtd
@@ -0,0 +1,25 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- STYLEBOOK FAQS DTD -->

+

+<!-- import the external blocks.ent dtd -->

+<!ENTITY % blocksEntity SYSTEM "blocks.ent">

+%blocksEntity;

+

+<!ELEMENT faqs (group,faq)+>

+<!ATTLIST faqs title CDATA #REQUIRED>

+

+<!-- XALAN-J: (group) Allow for grouping of faqs -->

+

+<!ELEMENT group (faq)*>

+<!ATTLIST group title CDATA #REQUIRED>

+

+<!-- Allow multiple Answers for a given FAQ Question -->

+<!ELEMENT faq (q,a+)>

+<!ATTLIST faq title CDATA #IMPLIED>

+

+<!ELEMENT q (#PCDATA)>

+<!ELEMENT a (%blocks;)+>

+

+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->

+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/links.ent b/xdocs/style/dtd/links.ent
new file mode 100644
index 0000000..63b002f
--- /dev/null
+++ b/xdocs/style/dtd/links.ent
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- LINKS ENTITY -->

+<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">

+

+<!ELEMENT anchor EMPTY>

+<!ATTLIST anchor name NMTOKEN #REQUIRED>

+

+<!ELEMENT img EMPTY>

+<!ATTLIST img src CDATA #REQUIRED

+              alt CDATA #REQUIRED>

+

+<!ELEMENT link (#PCDATA|img)*>

+<!ATTLIST link idref NMTOKEN #IMPLIED

+               anchor CDATA  #IMPLIED>

+

+<!ELEMENT jump (#PCDATA|img)*>

+<!ATTLIST jump href CDATA #REQUIRED>

+

+<!-- cross-reference resource elements -->

+<!ELEMENT resource-ref 		EMPTY>

+<!ATTLIST resource-ref 		idref CDATA #REQUIRED>

+<!ELEMENT human-resource-ref 	EMPTY>

+<!ATTLIST human-resource-ref 	 idref CDATA #REQUIRED>
\ No newline at end of file
diff --git a/xdocs/style/dtd/markup.ent b/xdocs/style/dtd/markup.ent
new file mode 100644
index 0000000..66319e5
--- /dev/null
+++ b/xdocs/style/dtd/markup.ent
@@ -0,0 +1,21 @@
+<?xml encoding='US-ASCII'?>

+

+<!-- MARKUP ENTITY -->

+<!ENTITY % markup "em|ref|code|br">

+

+<!-- import the external source-specific dtd -->

+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">

+%externalEntity;

+<!-- import the external charecters.ent dtd -->

+<!ENTITY % charEntity SYSTEM "characters.ent">

+%charEntity;

+<!-- import the external links.ent dtd -->

+<!ENTITY % linksEntity SYSTEM "links.ent">

+%linksEntity;

+

+<!ELEMENT em (#PCDATA|%links;)*>

+<!ELEMENT ref (#PCDATA|%links;)*>

+<!ELEMENT code (#PCDATA|%links;|ref)*>

+<!ELEMENT br EMPTY>

+

+<!-- CVS $Revision: 1.2 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file