You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sh...@apache.org on 2012/02/26 10:12:49 UTC
svn commit: r1293790 [14/21] - in /xalan/c/branches/XalanDocs: docs/xalan/
docs/xalan/resources/ docs/xalan/xalan-c/ docs/xalan/xalan-c/resources/
docs/xalan/xalan-j/ docs/xalan/xalan-j/design/
docs/xalan/xalan-j/design/resources/ docs/xalan/xalan-j/re...
Modified: xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/commandline.xml
URL: http://svn.apache.org/viewvc/xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/commandline.xml?rev=1293790&r1=1293789&r2=1293790&view=diff
==============================================================================
--- xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/commandline.xml (original)
+++ xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/commandline.xml Sun Feb 26 09:12:45 2012
@@ -1,107 +1,107 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
-[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
-%entity-c-values; ]>
-
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-
-
-<s1 title="&xslt4c; Command-Line Utilities">
-<ul>
-<li><link anchor="use">Using a command-line utility</link></li>
-<li><link anchor="xalanexe">Using the Xalan executable</link></li>
-<!--
-<li><link anchor="confexe">Using the conf utility</link></li>
--->
-</ul><anchor name="use"/>
-<s2 title="Using a command-line utility">
-<p>To perform a transformation, you can call &xslt4c; from the command line (or script),
- or from within an application (see <link idref="usagepatterns">Usage Patterns</link>).</p>
-<p>To perform a transformation from the command line or a script, do the following:</p>
- <ol>
- <li><link idref="download">Download &xslt4c;</link>.<br/><br/></li>
- <li><link idref="install">Set the path/library path</link> to include the Xalan executable and the Xalan and Xerces
- libraries.<br/><br/></li>
- <li>Call the Xalan executable with the appropriate flags and arguments (described below).</li>
- </ol>
-</s2>
-<anchor name="xalanexe"/>
-<s2 title="Using the Xalan executable">
-<p>Call the Xalan executable as follows:<br/><br/>
- <code>Xalan <ref>[options]</ref> <ref>xmlSource</ref> <ref>xslStylesheet</ref></code><br/><br/>
- where <ref>xmlSource</ref> is the XML source document, <ref>xslStylesheet</ref> is the stylesheet to apply, and
- <ref>[options]</ref> are any (or none) of the following:</p>
-<table>
- <tr><th>Option</th><th>Description</th></tr>
- <tr><td>-a</td><td>Use stylesheet processing instruction, not the stylesheet argument.</td></tr>
- <tr><td>-e encoding</td><td>Force the specified encoding for the output.</td></tr>
- <tr><td>-i integer</td><td>Indent the specified amount.</td></tr>
- <tr><td>-m</td><td>Omit the META tag in HTML output.</td></tr>
- <tr><td>-o filename</td><td>Write transformation result to this file (rather than to the console).</td></tr>
- <tr><td>-p name expr</td><td>Set a stylesheet parameter with this expression.</td></tr>
- <tr><td>-t name expr</td><td>Display timing information.</td></tr>
- <tr><td>-u name expr</td><td>Disable escaping of URLs in HTML output.</td></tr>
- <tr><td>-v</td><td>Validate the XML source document.</td></tr>
- <tr><td>-</td><td>A dash as the 'source' argument reads from stdin.<br/>A dash as the 'stylesheet' argument reads
- from stdin.<br/>('-' cannot be used for both arguments.)</td></tr>
-</table>
-<p>To display a list of the options call the Xalan executable as follows:</p>
-<p><code>Xalan -?</code></p>
-</s2>
-<!-- Next Release
-<anchor name="confexe"/>
-<s2 title="Using the conf utility">
-<p>The conf utility is a test harness used to run conformance tests found under the xml-xalan/test/tests/conf branch. The conf utility is provided in the bin directory of &xslt4c; UNIX binary distributions and the Build directory of the &xslt4c; Windows binary distribution. If you downloaded the source distribution package, you will need to do the following in order to build the conf utility:</p>
-<p>With the Windows source package,</p>
-<ol>
-<li>Follow the same build instructions as listed under <link idref="readme" anchor="win32">"Steps to Build on Windows"</link> to build the Xalan executable.</li>
-<li>From Visual C++, go to "Projects" and select "Set Active Project" and highlight the "conf" project.</li>
-<li>Go to "Build" and select "Rebuild All" to build the conf utility.</li>
-</ol>
-<p>With the UNIX source package,</p>
-<ol>
-<li>Follow the same build instructions as listed under <link idref="readme" anchor="unix">"Steps to Build on UNIX"</link></li>
-<li>Run the build with the make target as "Tests".</li>
-</ol>
-<p>If you downloaded the binary distribution, the conf utility is located in the bin directory. </p>
-<p>Call the conf utility as follows:<br/><br/>
-<code>Conf <ref>test_dir</ref> [-sub <ref><dir></ref> -out <ref><dir></ref> -gold <ref><dir></ref> -source (XST | XPL | DOM)]</code><br/><br/>
-
-<table>
- <tr><th>Option</th><th>Description</th></tr>
- <tr><td><ref>test_dir</ref></td><td>Specifies the base directory for the test cases.</td></tr>
- <tr><td>-sub <ref>dir</ref></td><td>Specifies the specific sub-directory for the test cases. By default, the sub-directory assumes the same value specified for the test_dir option.</td></tr>
- <tr><td>-out <ref>dir</ref></td><td>Specifies the directory to store the test results output. By default, the output directory is set to CONF-RESULTS.</td></tr>
- <tr><td>-gold <ref>dir</ref></td><td>Specifies the directory for the gold files. By default, the gold file directory is set to <test_dir>-gold.</td></tr>
- <tr><td>-source <ref>type</ref></td><td>Specifies the type of parsed source. Valid values include: XST (XalanSourceTree), XPL (XercesParserLiaison), or DOM (Document Object Model). By default, this value is set to XST.</td></tr>
-</table></p>
-<p>To display a list of the options call the conf utility as follows:</p>
-<p><code>conf ‐‐help</code></p>
-<p>After conformance tests have been run, a results report is generated in HTML format. The results report file name use the following naming convention:<br/><br/>
- <code>conf<ref>xxyyzzzz</ref>.html</code>.
-<br/><br/>Where<br/><br/>
-<table>
- <tr><th>Placeholder</th><th>Description</th></tr>
- <tr><td>xx</td><td>two digit representation of the current month</td></tr>
- <tr><td>yy</td><td>two digit representation of the current day</td></tr>
- <tr><td>zzzz</td><td>four digit representation of the current time stamp in military format</td></tr>
-</table></p>
-</s2>
--->
-</s1>
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
+[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
+%entity-c-values; ]>
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+
+<s1 title="&xslt4c; Command-Line Utilities">
+<ul>
+<li><link anchor="use">Using a command-line utility</link></li>
+<li><link anchor="xalanexe">Using the Xalan executable</link></li>
+<!--
+<li><link anchor="confexe">Using the conf utility</link></li>
+-->
+</ul><anchor name="use"/>
+<s2 title="Using a command-line utility">
+<p>To perform a transformation, you can call &xslt4c; from the command line (or script),
+ or from within an application (see <link idref="usagepatterns">Usage Patterns</link>).</p>
+<p>To perform a transformation from the command line or a script, do the following:</p>
+ <ol>
+ <li><link idref="download">Download &xslt4c;</link>.<br/><br/></li>
+ <li><link idref="install">Set the path/library path</link> to include the Xalan executable and the Xalan and Xerces
+ libraries.<br/><br/></li>
+ <li>Call the Xalan executable with the appropriate flags and arguments (described below).</li>
+ </ol>
+</s2>
+<anchor name="xalanexe"/>
+<s2 title="Using the Xalan executable">
+<p>Call the Xalan executable as follows:<br/><br/>
+ <code>Xalan <ref>[options]</ref> <ref>xmlSource</ref> <ref>xslStylesheet</ref></code><br/><br/>
+ where <ref>xmlSource</ref> is the XML source document, <ref>xslStylesheet</ref> is the stylesheet to apply, and
+ <ref>[options]</ref> are any (or none) of the following:</p>
+<table>
+ <tr><th>Option</th><th>Description</th></tr>
+ <tr><td>-a</td><td>Use stylesheet processing instruction, not the stylesheet argument.</td></tr>
+ <tr><td>-e encoding</td><td>Force the specified encoding for the output.</td></tr>
+ <tr><td>-i integer</td><td>Indent the specified amount.</td></tr>
+ <tr><td>-m</td><td>Omit the META tag in HTML output.</td></tr>
+ <tr><td>-o filename</td><td>Write transformation result to this file (rather than to the console).</td></tr>
+ <tr><td>-p name expr</td><td>Set a stylesheet parameter with this expression.</td></tr>
+ <tr><td>-t name expr</td><td>Display timing information.</td></tr>
+ <tr><td>-u name expr</td><td>Disable escaping of URLs in HTML output.</td></tr>
+ <tr><td>-v</td><td>Validate the XML source document.</td></tr>
+ <tr><td>-</td><td>A dash as the 'source' argument reads from stdin.<br/>A dash as the 'stylesheet' argument reads
+ from stdin.<br/>('-' cannot be used for both arguments.)</td></tr>
+</table>
+<p>To display a list of the options call the Xalan executable as follows:</p>
+<p><code>Xalan -?</code></p>
+</s2>
+<!-- Next Release
+<anchor name="confexe"/>
+<s2 title="Using the conf utility">
+<p>The conf utility is a test harness used to run conformance tests found under the xml-xalan/test/tests/conf branch. The conf utility is provided in the bin directory of &xslt4c; UNIX binary distributions and the Build directory of the &xslt4c; Windows binary distribution. If you downloaded the source distribution package, you will need to do the following in order to build the conf utility:</p>
+<p>With the Windows source package,</p>
+<ol>
+<li>Follow the same build instructions as listed under <link idref="readme" anchor="win32">"Steps to Build on Windows"</link> to build the Xalan executable.</li>
+<li>From Visual C++, go to "Projects" and select "Set Active Project" and highlight the "conf" project.</li>
+<li>Go to "Build" and select "Rebuild All" to build the conf utility.</li>
+</ol>
+<p>With the UNIX source package,</p>
+<ol>
+<li>Follow the same build instructions as listed under <link idref="readme" anchor="unix">"Steps to Build on UNIX"</link></li>
+<li>Run the build with the make target as "Tests".</li>
+</ol>
+<p>If you downloaded the binary distribution, the conf utility is located in the bin directory. </p>
+<p>Call the conf utility as follows:<br/><br/>
+<code>Conf <ref>test_dir</ref> [-sub <ref><dir></ref> -out <ref><dir></ref> -gold <ref><dir></ref> -source (XST | XPL | DOM)]</code><br/><br/>
+
+<table>
+ <tr><th>Option</th><th>Description</th></tr>
+ <tr><td><ref>test_dir</ref></td><td>Specifies the base directory for the test cases.</td></tr>
+ <tr><td>-sub <ref>dir</ref></td><td>Specifies the specific sub-directory for the test cases. By default, the sub-directory assumes the same value specified for the test_dir option.</td></tr>
+ <tr><td>-out <ref>dir</ref></td><td>Specifies the directory to store the test results output. By default, the output directory is set to CONF-RESULTS.</td></tr>
+ <tr><td>-gold <ref>dir</ref></td><td>Specifies the directory for the gold files. By default, the gold file directory is set to <test_dir>-gold.</td></tr>
+ <tr><td>-source <ref>type</ref></td><td>Specifies the type of parsed source. Valid values include: XST (XalanSourceTree), XPL (XercesParserLiaison), or DOM (Document Object Model). By default, this value is set to XST.</td></tr>
+</table></p>
+<p>To display a list of the options call the conf utility as follows:</p>
+<p><code>conf ‐‐help</code></p>
+<p>After conformance tests have been run, a results report is generated in HTML format. The results report file name use the following naming convention:<br/><br/>
+ <code>conf<ref>xxyyzzzz</ref>.html</code>.
+<br/><br/>Where<br/><br/>
+<table>
+ <tr><th>Placeholder</th><th>Description</th></tr>
+ <tr><td>xx</td><td>two digit representation of the current month</td></tr>
+ <tr><td>yy</td><td>two digit representation of the current day</td></tr>
+ <tr><td>zzzz</td><td>four digit representation of the current time stamp in military format</td></tr>
+</table></p>
+</s2>
+-->
+</s1>
Modified: xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/download.xml
URL: http://svn.apache.org/viewvc/xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/download.xml?rev=1293790&r1=1293789&r2=1293790&view=diff
==============================================================================
--- xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/download.xml (original)
+++ xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/download.xml Sun Feb 26 09:12:45 2012
@@ -1,157 +1,157 @@
-<?xml version="1.0" standalone="no"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
-[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
-%entity-c-values; ]>
-
-<s1 title="Downloading &xslt4c;">
-<anchor name="download"/><p>This section is being rewritten. The documentation here is copied from the web pages for Xalan version 1.10. At present, we do not have persons committed to create binary builds.
-</p>
-<s2 title="Downloading what you need">
-<p>For &xslt4c-current;, we are distributing the following:
-<ul>
- <li>32-bit and 64-bit AIX 5.1 builds with the xlC_r v6.0 compiler</li>
- <li>32-bit and 64-bit HP-UX 11 builds with the aCC v3.52 compiler</li>
- <li>32-bit Red Hat Linux AS4 build with the gcc 3.4.3 compiler</li>
- <li>32-bit and 64-bit Solaris 2.8 builds with the Forte C++ 6 Update 2 compiler</li>
- <li>64-bit SuSE Linux 8.1 for AMD-64 build with the gcc 3.2.2 compiler</li>
- <li>32-bit Windows build with the Microsoft Visual C++ 6.0 compiler with Service Pack 5</li>
-</ul>
-</p>
-<!-- Leave this section in for future releases
-<p>New to the &xslt4c-current; binary distribution list, we are also providing the following:
-<ul>
-</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 <human-resource-ref idref="xalandev"/> 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 &xml4c-used; build as indicated below.</p>
-<note>The Xalan distribution files are in <resource-ref idref="xslt4c-distdir"/>. The Xerces distribution files are in
- <resource-ref idref="xml4c-distdir"/>. Xalan documentation is provided in a separate package from the binary distribution
- files. For Windows, documentation is packaged with the file name &xslt4c-docs_dist_zip;. For UNIX, documentation is packaged
- with the file name of &xslt4c-docs_dist_targz;.</note>
-<p>The tables below are inaccurate. They represent Xalan-C version 1.10 and Xerces-C version 2.7. As committers step forward to create binary packages for Xalan 1.11, this section will be updated.
-</p>
-<table>
- <tr>
- <th>Xalan distribution files</th>
- <th>Xerces distribution files</th>
- <th>Platform</th>
- </tr>
- <tr>
- <td>&xslt4c-aix51v6-dist;</td>
- <td>&xml4c-aix51v6-dist;</td>
- <td>AIX 5.1 (32-bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-aix51v6_64-dist;</td>
- <td>&xml4c-aix51v6_64-dist;</td>
- <td>AIX 5.1 (64 bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-hpux11i-dist;</td>
- <td>&xml4c-hpux11i-dist;</td>
- <td>HP-UX 11.i (32 bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-hpux11i_64-dist;</td>
- <td>&xml4c-hpux11i_64-dist;</td>
- <td>HP-UX 11.i (64 bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-redhatAS4-dist;</td>
- <td>&xml4c-redhatAS4-dist;</td>
- <td>RedHat AS4 IA (32-bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-solaris28-dist;</td>
- <td>&xml4c-solaris28-dist;</td>
- <td>Solaris 2.8 (32-bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-solaris28_64-dist; </td>
- <td>&xml4c-solaris28_64-dist;</td>
- <td>Solaris 2.8 (64-bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-suse80_AMD_64-dist; </td>
- <td>&xml4c-suse80_AMD_64-dist; </td>
- <td>SuSE 8.0 on AMD (64-bit)</td>
- </tr>
- <tr>
- <td>&xslt4c-win32-dist;<br/></td>
- <td>&xml4c-winnt-dist;<br/></td>
- <td>Windows 2000 (32-bit)<br/></td>
- </tr>
- <tr>
- <td>&xslt4c-src_dist_zip; <br/>&xslt4c-src_dist_targz;</td>
- <td></td>
- <td>ALL</td>
- </tr>
- <tr>
- <td>&xslt4c-docs_dist_zip; <br/>&xslt4c-docs_dist_targz;</td>
- <td></td>
- <td>ALL</td>
- </tr>
-</table>
-<p>The compiler version used for each platform is listed in the table below.
- <table>
- <tr>
- <th>Platform - Operating System</th>
- <th>Compilers</th>
- </tr>
- <tr>
- <td>AIX 5.1</td>
- <td>IBM C and C++ for AIX 6.00</td>
- </tr>
- <tr>
- <td>HP/UX 11.i</td>
- <td>aCC A.03.52</td>
- </tr>
- <tr>
- <td>RedHat Linux AS4</td>
- <td>gcc Compiler, version 3.4.3</td>
- </tr>
- <tr>
- <td>Solaris 2.8</td>
- <td>Sun Workshop 6 update 2</td>
- </tr>
- <tr>
- <td>SuSE 8.0</td>
- <td>gcc Compiler, version 3.2.2</td>
- </tr>
- <tr>
- <td>Windows NT, 2000, and XP</td>
- <td>Microsoft Visual C++ with SP5</td>
- </tr>
- </table>
-</p>
-<note>Use GNU tar to untar the Solaris distribution file; see <link idref="faq" anchor="faq-11">A tar checksum error on Solaris
- </link>.</note>
-<p>If you want to take advantage of the support for number formatting, sorting, and encoding the ICU provides, you should also download
- and install the <resource-ref idref="icu"/>; see <link idref="usagepatterns" anchor="icu">Using the ICU</link>,</p>
-<p>The IBM ICU is supported with Xerces-C version 2.8. Xerces-C version 3 has introduced transcoding support modules, currently being evaluated for Xalan XSLT transcoders.
-</p>
-<note>To access previous releases of &xslt4c;, visit the <jump href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive
- directory</jump>.</note>
-</s2>
-
-</s1>
+<?xml version="1.0" standalone="no"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
+[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
+%entity-c-values; ]>
+
+<s1 title="Downloading &xslt4c;">
+<anchor name="download"/><p>This section is being rewritten. The documentation here is copied from the web pages for Xalan version 1.10. At present, we do not have persons committed to create binary builds.
+</p>
+<s2 title="Downloading what you need">
+<p>For &xslt4c-current;, we are distributing the following:
+<ul>
+ <li>32-bit and 64-bit AIX 5.1 builds with the xlC_r v6.0 compiler</li>
+ <li>32-bit and 64-bit HP-UX 11 builds with the aCC v3.52 compiler</li>
+ <li>32-bit Red Hat Linux AS4 build with the gcc 3.4.3 compiler</li>
+ <li>32-bit and 64-bit Solaris 2.8 builds with the Forte C++ 6 Update 2 compiler</li>
+ <li>64-bit SuSE Linux 8.1 for AMD-64 build with the gcc 3.2.2 compiler</li>
+ <li>32-bit Windows build with the Microsoft Visual C++ 6.0 compiler with Service Pack 5</li>
+</ul>
+</p>
+<!-- Leave this section in for future releases
+<p>New to the &xslt4c-current; binary distribution list, we are also providing the following:
+<ul>
+</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 <human-resource-ref idref="xalandev"/> 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 &xml4c-used; build as indicated below.</p>
+<note>The Xalan distribution files are in <resource-ref idref="xslt4c-distdir"/>. The Xerces distribution files are in
+ <resource-ref idref="xml4c-distdir"/>. Xalan documentation is provided in a separate package from the binary distribution
+ files. For Windows, documentation is packaged with the file name &xslt4c-docs_dist_zip;. For UNIX, documentation is packaged
+ with the file name of &xslt4c-docs_dist_targz;.</note>
+<p>The tables below are inaccurate. They represent Xalan-C version 1.10 and Xerces-C version 2.7. As committers step forward to create binary packages for Xalan 1.11, this section will be updated.
+</p>
+<table>
+ <tr>
+ <th>Xalan distribution files</th>
+ <th>Xerces distribution files</th>
+ <th>Platform</th>
+ </tr>
+ <tr>
+ <td>&xslt4c-aix51v6-dist;</td>
+ <td>&xml4c-aix51v6-dist;</td>
+ <td>AIX 5.1 (32-bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-aix51v6_64-dist;</td>
+ <td>&xml4c-aix51v6_64-dist;</td>
+ <td>AIX 5.1 (64 bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-hpux11i-dist;</td>
+ <td>&xml4c-hpux11i-dist;</td>
+ <td>HP-UX 11.i (32 bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-hpux11i_64-dist;</td>
+ <td>&xml4c-hpux11i_64-dist;</td>
+ <td>HP-UX 11.i (64 bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-redhatAS4-dist;</td>
+ <td>&xml4c-redhatAS4-dist;</td>
+ <td>RedHat AS4 IA (32-bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-solaris28-dist;</td>
+ <td>&xml4c-solaris28-dist;</td>
+ <td>Solaris 2.8 (32-bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-solaris28_64-dist; </td>
+ <td>&xml4c-solaris28_64-dist;</td>
+ <td>Solaris 2.8 (64-bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-suse80_AMD_64-dist; </td>
+ <td>&xml4c-suse80_AMD_64-dist; </td>
+ <td>SuSE 8.0 on AMD (64-bit)</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-win32-dist;<br/></td>
+ <td>&xml4c-winnt-dist;<br/></td>
+ <td>Windows 2000 (32-bit)<br/></td>
+ </tr>
+ <tr>
+ <td>&xslt4c-src_dist_zip; <br/>&xslt4c-src_dist_targz;</td>
+ <td></td>
+ <td>ALL</td>
+ </tr>
+ <tr>
+ <td>&xslt4c-docs_dist_zip; <br/>&xslt4c-docs_dist_targz;</td>
+ <td></td>
+ <td>ALL</td>
+ </tr>
+</table>
+<p>The compiler version used for each platform is listed in the table below.
+ <table>
+ <tr>
+ <th>Platform - Operating System</th>
+ <th>Compilers</th>
+ </tr>
+ <tr>
+ <td>AIX 5.1</td>
+ <td>IBM C and C++ for AIX 6.00</td>
+ </tr>
+ <tr>
+ <td>HP/UX 11.i</td>
+ <td>aCC A.03.52</td>
+ </tr>
+ <tr>
+ <td>RedHat Linux AS4</td>
+ <td>gcc Compiler, version 3.4.3</td>
+ </tr>
+ <tr>
+ <td>Solaris 2.8</td>
+ <td>Sun Workshop 6 update 2</td>
+ </tr>
+ <tr>
+ <td>SuSE 8.0</td>
+ <td>gcc Compiler, version 3.2.2</td>
+ </tr>
+ <tr>
+ <td>Windows NT, 2000, and XP</td>
+ <td>Microsoft Visual C++ with SP5</td>
+ </tr>
+ </table>
+</p>
+<note>Use GNU tar to untar the Solaris distribution file; see <link idref="faq" anchor="faq-11">A tar checksum error on Solaris
+ </link>.</note>
+<p>If you want to take advantage of the support for number formatting, sorting, and encoding the ICU provides, you should also download
+ and install the <resource-ref idref="icu"/>; see <link idref="usagepatterns" anchor="icu">Using the ICU</link>,</p>
+<p>The IBM ICU is supported with Xerces-C version 2.8. Xerces-C version 3 has introduced transcoding support modules, currently being evaluated for Xalan XSLT transcoders.
+</p>
+<note>To access previous releases of &xslt4c;, visit the <jump href="http://archive.apache.org/dist/xml/xalan-c/">Xalan-C archive
+ directory</jump>.</note>
+</s2>
+
+</s1>
Modified: xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensions.xml
URL: http://svn.apache.org/viewvc/xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensions.xml?rev=1293790&r1=1293789&r2=1293790&view=diff
==============================================================================
--- xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensions.xml (original)
+++ xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensions.xml Sun Feb 26 09:12:45 2012
@@ -1,227 +1,227 @@
-<?xml version="1.0" standalone="no"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
-[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
-%entity-c-values; ]>
-
-<s1 title="&xslt4c; Extension Functions">
-<ul>
- <li><link anchor="intro">Introduction</link></li>
- <li><link anchor="implement">Implementing an extension function</link></li>
- <li><link anchor="install">Installing an extension function</link></li>
- <li><link anchor="use">Using an extension function</link></li>
-</ul>
-<anchor name="intro"/>
-<s2 title="Introduction">
-<p>At times, you may want to call your own custom C functions from a stylesheet. For these situations, &xslt4c; supports the
- creation and use of extension functions. &xslt4c; also provides a <link idref="extensionslib">library of extension functions
- </link> for your use.</p>
-<p>You can think of extension functions as extending the core library of functions that XPath provides. Like the
- XPath functions, an extension function returns an XObject, which may contain a value of any of the five XSLT
- data types: node-set, result-tree-fragment, string, boolean, or number.</p>
-<p>You can send arguments to an extension function in the form of XPath expressions, literals (for string, boolean, and number),
- the values returned by other functions, and XSL variables or parameters set to any of the preceding.</p>
-<p>For an example that implements, installs, and uses three extension functions, see the
-<link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
-<note>&xslt4c; does not support extension elements.</note>
-</s2>
-
-<anchor name="implement"/>
-<s2 title="Implementing an extension function">
-<p>Like the standard XPath functions, the functions you create derive from the Function base class. Set up your
- extension function class as follows:</p>
-<ol>
- <li>The body of a function is the execute() method. Use the appropriate XObjectFactory method -- createNumber()
- in the example below -- to create an XObject corresponding to the XSLT data type the function returns.<br/><br/></li>
- <li>Implement a clone() method to enable Xalan to create and maintain a copy of the extension
- function.<br/><br/></li>
- <li>(Optional) As Xalan does for the XPath functions, you may want to prevent the compiler from generating
- an assignment or equality operator for this function.</li>
-</ol>
-<p>These features all appear in the following example.</p>
-<source>
-// Base header file. Must be first.
-#include <xalanc/Include/PlatformDefinitions.hpp>
-
-#include <cmath>
-#include <ctime>
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xalanc/XalanTransformer/XalanTransformer.hpp>
-#include <xalanc/XPath/XObjectFactory.hpp>
-
-XALAN_CPP_NAMESPACE_USE
-
-// This class defines a function that will return the square root
-// of its argument.
-class FunctionSquareRoot : public Function
-{
-public:
-
- /**
- * Execute an XPath function object. The function must return a valid
- * XObject.
- *
- * @param executionContext executing context
- * @param context current context node
- * @param opPos current op position
- * @param args vector of pointers to XObject arguments
- * @return pointer to the result XObject
- */
- virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* /* context */,
- const XObjectPtr arg,
- const Locator* /* locator */) const
- {
- if (args.size() != 1)
- {
- executionContext.error("The square-root() function takes one argument!",
- context);
- }
- assert(args[0] != 0);
- // Use the XObjectFactory createNumber() method to create an XObject
- // corresponding to the XSLT number data type.
- return executionContext.getXObjectFactory().createNumber(
- sqrt(args[0]->num()));
- }
-
- /**
- * Implement clone() so Xalan can copy the square-root function into
- * its own function table.
- *
- * @return pointer to the new object
- */
-// For compilers that do not support covariant return types,
-// clone() must be declared to return the base type.
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
- virtual Function*
-#else
- virtual FunctionSquareRoot*
-#endif
- clone() const
- {
- return new FunctionSquareRoot(*this);
- }
-
-private:
- // The assignment and equality operators are not implemented...
- FunctionSquareRoot&
- operator=(const FunctionSquareRoot&);
- bool
- operator==(const FunctionSquareRoot&) const;
-}
-</source>
-</s2>
-<anchor name="install"/>
-<s2 title="Installing an extension function">
-<p><jump href="apiDocs/classXalanTransformer.html">XalanTransformer</jump> provides methods for installing and uninstalling external functions:</p>
-<ul>
- <li>installExternalFunction() makes the function available in the current instance of XalanTransformer. Use uninstallExternalFunction() to remove the function.<br/><br/></li>
- <li>installExternalFunctionGlobal() makes the function available globally. Use uninstallExternalFunctionGlobal() to remove the function. The global install and uninstall operations are not thread-safe. However, all global functions should be thread-safe, because multiple threads could call a particular function instance at the same time.</li>
-</ul>
-<p>These methods include arguments for the namespace, the function name, and the function implementation.</p>
-<p>When you install an extension function, the function inhabits the namespace you designate. For information about XML namespaces, see <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</jump>.</p>
-<p>The following code fragment installs locally the square root function defined above, and binds it to the extension-function name "square-root" in the namespace "http://MyExternalFunction.mycompany.org" so it can be accessed from stylesheets. Keep in mind that the function name does not need to be the same as the name of the function class, and that a function name may be used more than once provided that each function with that name is installed in a different namespace.</p>
-<source>#include <xalanc/Include/PlatformDefinitions.hpp>
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xalanc/XalanTransformer/XalanTransformer.hpp>
-// You have created a header file for FunctionSquareRoot.
-#include <MyFunctions/FunctionSquareRoot.hpp>
-// The namespace...
-const XalanDOMString
- theNamespace("http://MyExternalFunction.mycompany.org");
-
-theXalanTransformer.installExternalFunction(theNamespace,
- XalanDOMString("square-root"),
- FunctionSquareRoot());</source>
-<p>For an example that installs three functions, see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
-</s2>
-<anchor name="use"/>
-<s2 title="Using an extension function">
-<p>To use the extension function in a stylesheet, you must do the following:</p>
-<ol>
- <li>Declare the extension function namespace.<br/><br/>
- <code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code><br/><br/>
- The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> matches the namespace specified when the function
- is installed.<br/><br/>
- By default, namespace declarations are included in the transformation output. To exclude namespaces from the output,
- use<br/><br/>
- <code>exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
- in the stylesheet element or<br/><br/>
- <code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
- in a literal result element or extension element.<br/><br/></li>
- <li>Call the extension function in the same manner you would call an XPath function. The function name you use in the stylesheet is a Qualified Name (QName) made up of the prefix you declared in step 1 and the function name you specified when you installed the function.<br/><br/>
- You can use XPath expressions, literals (for string, boolean, and number), and values returned by other functions to
- specify function arguments.</li></ol>
-<p>Suppose, for example, you are working with XML documents containing area elements like
- <code><area value="397"/></code>, where the value attribute identifies the area of a square.</p>
-<p>The following stylesheet declares the square-root function namespace (the prefix is up to you), instructs
- the processor not to copy the namespace declaration to the result tree, and uses the square-root function to return
- the square root of //area/@value:</p>
-<source>
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0"
- xmlns:external="http://ExternalFunction.xalan-c.xml.apache.org"
- exclude-result-prefixes="external">
-
- <xsl:template match="//area">
- <out>
- The area of the square is
- <xsl:value-of select="@value"/> square units.
- The length of each side is
- <xsl:value-of select="external:square-root(@value)"/> units
- </out>
-</source>
-<p>This stylesheet converts <code><area value="397"/></code> into the following output:</p>
-<source><out>
- The area of the square is
- 397 square units.
- The length of each side is
- 19.9249 units.
-</out>
-</source>
-<p>For a slightly more complex variation on this example,
-see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
-<s3 title="Passing Nodes to a function">
-<p>Please keep in mind that <em>all</em> LocationPath expressions return a node-set, even if the expression only
- returns a single attribute or a text node (node-sets with one member). You can use the XSLT string() function
- to convert a node-set value to string, and the number() function to convert a node-set value to number (a double).</p>
-<p>If you pass a node-set to an extension function, be sure to set up the function to process a node-set.</p>
-<p>Suppose, for example, you have a ProcessNodes function class that uses<br/><br/>
- <code>const NodeRefListBase& theNodeList = args[0]->nodeset();</code><br/><br/>
- in the execute() method to get a reference to the node-set.</p>
-<p>Assuming you install the function as "ProcessNodes" and use the "node-ext" prefix in a stylesheet to refer to the ProcessNodes function namespace, any of the following function calls are syntactically possible:</p>
-<p><code><!--Process the current node--></code><br/>
-<code><xsl:variable name="success" select="node-ext:ProcessNodes(.)"/></code></p>
-<p><code><!--Process all nodes in current context--></code><br/>
-<code><xsl:variable name="success" select="node-ext:ProcessNodes(*)"/></code></p>
-<p><code><!-- Process all nodes --></code><br/>
-<code><xsl:variable name="success" select="node-ext:ProcessNodes(/*)"/></code></p>
-<p><code><!--Process the foo/baz nodes in current context --></code><br/>
-<code><xsl:variable name="success" select="node-ext:ProcessNodes(foo/baz)"/></code></p>
-<p><code><!--Process the/foo/baz and /bar/saz nodes --></code><br/>
-<code><xsl:variable name="success" select="node-ext:ProcessNodes(/foo/baz | /bar/saz)"/></code></p>
-<p>The NodeRefListBase is in fact a list of references into the XML document, so keep in mind that getNextSibling(),
-for example, gets you the next sibling in the document, which may not be the next Node in the node-set.</p>
-</s3>
-</s2>
-</s1>
+<?xml version="1.0" standalone="no"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
+[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
+%entity-c-values; ]>
+
+<s1 title="&xslt4c; Extension Functions">
+<ul>
+ <li><link anchor="intro">Introduction</link></li>
+ <li><link anchor="implement">Implementing an extension function</link></li>
+ <li><link anchor="install">Installing an extension function</link></li>
+ <li><link anchor="use">Using an extension function</link></li>
+</ul>
+<anchor name="intro"/>
+<s2 title="Introduction">
+<p>At times, you may want to call your own custom C functions from a stylesheet. For these situations, &xslt4c; supports the
+ creation and use of extension functions. &xslt4c; also provides a <link idref="extensionslib">library of extension functions
+ </link> for your use.</p>
+<p>You can think of extension functions as extending the core library of functions that XPath provides. Like the
+ XPath functions, an extension function returns an XObject, which may contain a value of any of the five XSLT
+ data types: node-set, result-tree-fragment, string, boolean, or number.</p>
+<p>You can send arguments to an extension function in the form of XPath expressions, literals (for string, boolean, and number),
+ the values returned by other functions, and XSL variables or parameters set to any of the preceding.</p>
+<p>For an example that implements, installs, and uses three extension functions, see the
+<link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
+<note>&xslt4c; does not support extension elements.</note>
+</s2>
+
+<anchor name="implement"/>
+<s2 title="Implementing an extension function">
+<p>Like the standard XPath functions, the functions you create derive from the Function base class. Set up your
+ extension function class as follows:</p>
+<ol>
+ <li>The body of a function is the execute() method. Use the appropriate XObjectFactory method -- createNumber()
+ in the example below -- to create an XObject corresponding to the XSLT data type the function returns.<br/><br/></li>
+ <li>Implement a clone() method to enable Xalan to create and maintain a copy of the extension
+ function.<br/><br/></li>
+ <li>(Optional) As Xalan does for the XPath functions, you may want to prevent the compiler from generating
+ an assignment or equality operator for this function.</li>
+</ol>
+<p>These features all appear in the following example.</p>
+<source>
+// Base header file. Must be first.
+#include <xalanc/Include/PlatformDefinitions.hpp>
+
+#include <cmath>
+#include <ctime>
+
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xalanc/XalanTransformer/XalanTransformer.hpp>
+#include <xalanc/XPath/XObjectFactory.hpp>
+
+XALAN_CPP_NAMESPACE_USE
+
+// This class defines a function that will return the square root
+// of its argument.
+class FunctionSquareRoot : public Function
+{
+public:
+
+ /**
+ * Execute an XPath function object. The function must return a valid
+ * XObject.
+ *
+ * @param executionContext executing context
+ * @param context current context node
+ * @param opPos current op position
+ * @param args vector of pointers to XObject arguments
+ * @return pointer to the result XObject
+ */
+ virtual XObjectPtr
+ execute(
+ XPathExecutionContext& executionContext,
+ XalanNode* /* context */,
+ const XObjectPtr arg,
+ const Locator* /* locator */) const
+ {
+ if (args.size() != 1)
+ {
+ executionContext.error("The square-root() function takes one argument!",
+ context);
+ }
+ assert(args[0] != 0);
+ // Use the XObjectFactory createNumber() method to create an XObject
+ // corresponding to the XSLT number data type.
+ return executionContext.getXObjectFactory().createNumber(
+ sqrt(args[0]->num()));
+ }
+
+ /**
+ * Implement clone() so Xalan can copy the square-root function into
+ * its own function table.
+ *
+ * @return pointer to the new object
+ */
+// For compilers that do not support covariant return types,
+// clone() must be declared to return the base type.
+#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
+ virtual Function*
+#else
+ virtual FunctionSquareRoot*
+#endif
+ clone() const
+ {
+ return new FunctionSquareRoot(*this);
+ }
+
+private:
+ // The assignment and equality operators are not implemented...
+ FunctionSquareRoot&
+ operator=(const FunctionSquareRoot&);
+ bool
+ operator==(const FunctionSquareRoot&) const;
+}
+</source>
+</s2>
+<anchor name="install"/>
+<s2 title="Installing an extension function">
+<p><jump href="apiDocs/classXalanTransformer.html">XalanTransformer</jump> provides methods for installing and uninstalling external functions:</p>
+<ul>
+ <li>installExternalFunction() makes the function available in the current instance of XalanTransformer. Use uninstallExternalFunction() to remove the function.<br/><br/></li>
+ <li>installExternalFunctionGlobal() makes the function available globally. Use uninstallExternalFunctionGlobal() to remove the function. The global install and uninstall operations are not thread-safe. However, all global functions should be thread-safe, because multiple threads could call a particular function instance at the same time.</li>
+</ul>
+<p>These methods include arguments for the namespace, the function name, and the function implementation.</p>
+<p>When you install an extension function, the function inhabits the namespace you designate. For information about XML namespaces, see <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</jump>.</p>
+<p>The following code fragment installs locally the square root function defined above, and binds it to the extension-function name "square-root" in the namespace "http://MyExternalFunction.mycompany.org" so it can be accessed from stylesheets. Keep in mind that the function name does not need to be the same as the name of the function class, and that a function name may be used more than once provided that each function with that name is installed in a different namespace.</p>
+<source>#include <xalanc/Include/PlatformDefinitions.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xalanc/XalanTransformer/XalanTransformer.hpp>
+// You have created a header file for FunctionSquareRoot.
+#include <MyFunctions/FunctionSquareRoot.hpp>
+// The namespace...
+const XalanDOMString
+ theNamespace("http://MyExternalFunction.mycompany.org");
+
+theXalanTransformer.installExternalFunction(theNamespace,
+ XalanDOMString("square-root"),
+ FunctionSquareRoot());</source>
+<p>For an example that installs three functions, see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
+</s2>
+<anchor name="use"/>
+<s2 title="Using an extension function">
+<p>To use the extension function in a stylesheet, you must do the following:</p>
+<ol>
+ <li>Declare the extension function namespace.<br/><br/>
+ <code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code><br/><br/>
+ The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> matches the namespace specified when the function
+ is installed.<br/><br/>
+ By default, namespace declarations are included in the transformation output. To exclude namespaces from the output,
+ use<br/><br/>
+ <code>exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
+ in the stylesheet element or<br/><br/>
+ <code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code><br/><br/>
+ in a literal result element or extension element.<br/><br/></li>
+ <li>Call the extension function in the same manner you would call an XPath function. The function name you use in the stylesheet is a Qualified Name (QName) made up of the prefix you declared in step 1 and the function name you specified when you installed the function.<br/><br/>
+ You can use XPath expressions, literals (for string, boolean, and number), and values returned by other functions to
+ specify function arguments.</li></ol>
+<p>Suppose, for example, you are working with XML documents containing area elements like
+ <code><area value="397"/></code>, where the value attribute identifies the area of a square.</p>
+<p>The following stylesheet declares the square-root function namespace (the prefix is up to you), instructs
+ the processor not to copy the namespace declaration to the result tree, and uses the square-root function to return
+ the square root of //area/@value:</p>
+<source>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+ xmlns:external="http://ExternalFunction.xalan-c.xml.apache.org"
+ exclude-result-prefixes="external">
+
+ <xsl:template match="//area">
+ <out>
+ The area of the square is
+ <xsl:value-of select="@value"/> square units.
+ The length of each side is
+ <xsl:value-of select="external:square-root(@value)"/> units
+ </out>
+</source>
+<p>This stylesheet converts <code><area value="397"/></code> into the following output:</p>
+<source><out>
+ The area of the square is
+ 397 square units.
+ The length of each side is
+ 19.9249 units.
+</out>
+</source>
+<p>For a slightly more complex variation on this example,
+see the <link idref="samples" anchor="externalfunctions">External Functions</link> sample.</p>
+<s3 title="Passing Nodes to a function">
+<p>Please keep in mind that <em>all</em> LocationPath expressions return a node-set, even if the expression only
+ returns a single attribute or a text node (node-sets with one member). You can use the XSLT string() function
+ to convert a node-set value to string, and the number() function to convert a node-set value to number (a double).</p>
+<p>If you pass a node-set to an extension function, be sure to set up the function to process a node-set.</p>
+<p>Suppose, for example, you have a ProcessNodes function class that uses<br/><br/>
+ <code>const NodeRefListBase& theNodeList = args[0]->nodeset();</code><br/><br/>
+ in the execute() method to get a reference to the node-set.</p>
+<p>Assuming you install the function as "ProcessNodes" and use the "node-ext" prefix in a stylesheet to refer to the ProcessNodes function namespace, any of the following function calls are syntactically possible:</p>
+<p><code><!--Process the current node--></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(.)"/></code></p>
+<p><code><!--Process all nodes in current context--></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(*)"/></code></p>
+<p><code><!-- Process all nodes --></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(/*)"/></code></p>
+<p><code><!--Process the foo/baz nodes in current context --></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(foo/baz)"/></code></p>
+<p><code><!--Process the/foo/baz and /bar/saz nodes --></code><br/>
+<code><xsl:variable name="success" select="node-ext:ProcessNodes(/foo/baz | /bar/saz)"/></code></p>
+<p>The NodeRefListBase is in fact a list of references into the XML document, so keep in mind that getNextSibling(),
+for example, gets you the next sibling in the document, which may not be the next Node in the node-set.</p>
+</s3>
+</s2>
+</s1>
Modified: xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensionslib.xml
URL: http://svn.apache.org/viewvc/xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensionslib.xml?rev=1293790&r1=1293789&r2=1293790&view=diff
==============================================================================
--- xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensionslib.xml (original)
+++ xalan/c/branches/XalanDocs/xalan/java/trunk/xdocs/sources/xalan-c/extensionslib.xml Sun Feb 26 09:12:45 2012
@@ -1,155 +1,155 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
-[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
-%entity-c-values; ]>
-
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<s1 title="Extensions library">
-<ul>
- <li><link anchor="intro">Introduction</link></li>
- <li><link anchor="exslt">Beta support for EXSLT extensions</link></li>
- <li><link anchor="xalanns">Xalan namespace</link></li>
- <li><link anchor="nodeset">nodeset</link></li>
- <li><link anchor="intersection">intersection</link></li>
- <li><link anchor="difference">difference</link></li>
- <li><link anchor="distinct">distinct</link></li>
- <li><link anchor="evaluate">evaluate</link></li>
- <li><link anchor="hassamenodes">hasSameNodes</link></li>
-</ul>
-
-<anchor name="intro"/>
-<s2 title= "Introduction">
-<p>Extension functions provide a powerful mechanism
- for extending and simplifying what you can do with an XLST processor like
- Xalan. With input and contributions from the XML open-source developer community, we are working on placing the most useful
- extensions in an extensions library distributed with &xslt4c;. If you have ideas and/or contributions you would like to make,
- please email us at the <human-resource-ref idref="xalandev"/>.</p>
-</s2>
-
-<anchor name="exslt"/>
-<s2 title="EXSLT extensions">
-<p>&xslt4c; supports the <jump href="http://exslt.org/">EXSLT</jump> initiative to provide a set of
- standard extension functions to XSLT users. &xslt4c; includes beta implementations for
- functions in four of the EXSLT namespaces (some are calls to extension already in the Xalan namespace).</p>
-<p>The source files for the implementations are in the XalanEXSLT subdirectory of the source tree. See</p>
-<ul>
- <li><jump href="apiDocs/XalanEXSLTCommonImpl_8hpp.html">XalanEXSLTCommonImpl</jump></li>
- <li><jump href="apiDocs/XalanEXSLTMathImpl_8hpp.html">XalanEXSLTMathImpl</jump></li>
- <li><jump href="apiDocs/XalanEXSLTSetImpl_8hpp.html">XalanEXSLTSetImpl</jump></li>
- <li><jump href="apiDocs/XalanEXSLTStringImpl_8hpp.html">XalanEXSLTStringImpl</jump></li>
- <li><jump href="apiDocs/XalanEXSLTDynamicImpl_8hpp.html">XalanEXSLTDynamicImpl</jump></li>
- <li><jump href="apiDocs/XalanEXSLTDateTimeImpl_8hpp.html">XalanEXSLTDateTimeImpl</jump></li>
-</ul>
-<p>For the function specifications, see:</p>
-<ul>
- <li><jump href="http://www.exslt.org/exsl/exsl.html">EXSLT common functions</jump></li>
- <li><jump href="http://www.exslt.org/math/math.html">EXSLT math functions</jump></li>
- <li><jump href="http://www.exslt.org/set/set.html">EXSLT set functions</jump></li>
- <li><jump href="http://www.exslt.org/str/str.html">EXSLT string functions</jump></li>
- <li><jump href="http://www.exslt.org/dyn/dyn.html">EXSLT dynamic functions</jump></li>
- <li><jump href="http://www.exslt.org/date/date.html">EXSLT date-time functions</jump></li>
-</ul>
-<p>Anyone who would like to participate in the &xslt4c; initiative to support EXSLT by testing these implementations or implementing
- other EXSLT functions is more than welcome. Please email us at the <human-resource-ref idref="xalandev"/>.</p>
-</s2>
-
-<anchor name="xalanns"/>
-<s2 title="Xalan namespace">
-<p>We are placing the Xalan extension functions in the XalanExtensions module and we have defined a namespace for this module:</p>
-<p> <code>http://xml.apache.org/xalan</code></p>
-<p>If you are calling &xslt4c;-supplied extensions, we recommend that you define this namespace in your stylesheet element, and
- call the extension using the namespace prefix that you have associated with that namespace. That way, if we later reorganize
- how the &xslt4c;-supplied extensions are stored, you won't have to modify your stylesheet.</p>
-<p>For an example that uses this namespace, see <link anchor="ex-nodeset">Example with the nodeset extension function</link>.</p>
-</s2>
-
-<anchor name="nodeset"/>
-<s2 title= "nodeset">
-<p>Implemented in <jump href="apiDocs/classFunctionNodeSet.html">FunctionNodeSet</jump>, <code>nodeset (result-tree-fragment)</code>
- casts a result tree fragment into a node-set.</p>
-<note>When you bind a variable to a template, rather than to the value generated by a select expression, the data type of the variable
- is result tree fragment. For more information, see <jump href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments">Result
- Tree Fragments</jump>.</note>
-
-<anchor name="ex-nodeset"/>
-<s3 title="Example with the nodeset extension function">
-<p>The following stylesheet uses the nodeset extension function to cast a result tree fragment into a node-set that can then be
- navigated in standard XPath manner. It uses the http://xml.apache.org/xalan namespace to provide access to the nodeset() method
- in xml.apache.xalan.lib.Extensions.</p>
-<source>
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0"
- xmlns:xalan="http://xml.apache.org/xalan"
- exclude-result-prefixes="xalan">
-<xsl:template match="/">
- <out>
- <xsl:variable name="rtf">
- <docelem>
- <elem1>
- <elem1a>ELEMENT1A</elem1a>
- <elem1b>,ELEMENT1B</elem1b>
- </elem1>
- <elem2>
- <elem2a>ELEMENT2A</elem2a>
- </elem2>
- </docelem>
- </xsl:variable>
- <xsl:for-each select="xalan:nodeset($rtf)/docelem//*">
- <xsl:value-of select="name(.)"/><xsl:text>,</xsl:text>
- </xsl:for-each>
- </out>
-</xsl:template>
-</xsl:stylesheet>
-</source>
-<p>The output of running this stylesheet (with any XML input source) is a comma-delimited list of the element names in the node-set<br/>
- <code><out>elem1,elem1a,elem1b,elem2,elem2a</out></code></p>
-<note>For illustration purposes, the preceding stylesheet pays no attention to the structure and content of the XML input document.
- Instead, it processes the template (in the stylesheet) bound to the variable named rtf.</note>
-</s3>
-</s2>
-<anchor name="intersection"/>
-<s2 title="intersection">
-<p>Implemented in <jump href="apiDocs/classFunctionIntersection.html">FunctionIntersection</jump>, <code>intersection (node-set1,
- node-set2)</code> returns a node-set with all nodes that are in ns1 and in ns2.</p>
-</s2>
-<anchor name="difference"/>
-<s2 title= "difference">
-<p>Implemented in <jump href="apiDocs/classFunctionDifference.html">FunctionDifference</jump>, <code>difference(node-set1,
- node-set2)</code> returns a node-set with the nodes in node-set1 and not in node-set2.</p>
-</s2>
-<anchor name="distinct"/>
-<s2 title= "distinct">
-<p>Implemented in <jump href="apiDocs/classFunctionDistinct.html">FunctionDistinct</jump>, distinct (node-set) returns a node-set
- containing nodes with distinct string values. If more than one node in the node-set contains the same text node value, distinct
- only returns the first of these nodes that it finds.</p>
-</s2>
-<anchor name="evaluate"/>
-<s2 title= "evaluate">
-<p>Implemented in <jump href="apiDocs/classFunctionEvaluate.html">FunctionEvaluate</jump>, <code>evaluate (xpath-expression)</code>
- returns the result of evaluating the xpath-expression in the current XPath expression context (automatically passed in by the
- extension mechanism).</p>
-<p>Use the evaluation extension function when the value of the expression is not known until run time.</p>
-</s2>
-<anchor name="hassamenodes"/>
-<s2 title= "hasSameNodes">
-<p>Implemented in <jump href="apiDocs/classFunctionHasSameNodes.html">FunctionHasSameNodes</jump>, <code>hasSameNodes(node-set1,
- node-set2)</code> returns true if both node-set1 and node-set2 contain exactly the same set of nodes.</p>
-</s2>
-</s1>
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"
+[<!ENTITY % entity-c-values SYSTEM "../entities-c.ent" >
+%entity-c-values; ]>
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<s1 title="Extensions library">
+<ul>
+ <li><link anchor="intro">Introduction</link></li>
+ <li><link anchor="exslt">Beta support for EXSLT extensions</link></li>
+ <li><link anchor="xalanns">Xalan namespace</link></li>
+ <li><link anchor="nodeset">nodeset</link></li>
+ <li><link anchor="intersection">intersection</link></li>
+ <li><link anchor="difference">difference</link></li>
+ <li><link anchor="distinct">distinct</link></li>
+ <li><link anchor="evaluate">evaluate</link></li>
+ <li><link anchor="hassamenodes">hasSameNodes</link></li>
+</ul>
+
+<anchor name="intro"/>
+<s2 title= "Introduction">
+<p>Extension functions provide a powerful mechanism
+ for extending and simplifying what you can do with an XLST processor like
+ Xalan. With input and contributions from the XML open-source developer community, we are working on placing the most useful
+ extensions in an extensions library distributed with &xslt4c;. If you have ideas and/or contributions you would like to make,
+ please email us at the <human-resource-ref idref="xalandev"/>.</p>
+</s2>
+
+<anchor name="exslt"/>
+<s2 title="EXSLT extensions">
+<p>&xslt4c; supports the <jump href="http://exslt.org/">EXSLT</jump> initiative to provide a set of
+ standard extension functions to XSLT users. &xslt4c; includes beta implementations for
+ functions in four of the EXSLT namespaces (some are calls to extension already in the Xalan namespace).</p>
+<p>The source files for the implementations are in the XalanEXSLT subdirectory of the source tree. See</p>
+<ul>
+ <li><jump href="apiDocs/XalanEXSLTCommonImpl_8hpp.html">XalanEXSLTCommonImpl</jump></li>
+ <li><jump href="apiDocs/XalanEXSLTMathImpl_8hpp.html">XalanEXSLTMathImpl</jump></li>
+ <li><jump href="apiDocs/XalanEXSLTSetImpl_8hpp.html">XalanEXSLTSetImpl</jump></li>
+ <li><jump href="apiDocs/XalanEXSLTStringImpl_8hpp.html">XalanEXSLTStringImpl</jump></li>
+ <li><jump href="apiDocs/XalanEXSLTDynamicImpl_8hpp.html">XalanEXSLTDynamicImpl</jump></li>
+ <li><jump href="apiDocs/XalanEXSLTDateTimeImpl_8hpp.html">XalanEXSLTDateTimeImpl</jump></li>
+</ul>
+<p>For the function specifications, see:</p>
+<ul>
+ <li><jump href="http://www.exslt.org/exsl/exsl.html">EXSLT common functions</jump></li>
+ <li><jump href="http://www.exslt.org/math/math.html">EXSLT math functions</jump></li>
+ <li><jump href="http://www.exslt.org/set/set.html">EXSLT set functions</jump></li>
+ <li><jump href="http://www.exslt.org/str/str.html">EXSLT string functions</jump></li>
+ <li><jump href="http://www.exslt.org/dyn/dyn.html">EXSLT dynamic functions</jump></li>
+ <li><jump href="http://www.exslt.org/date/date.html">EXSLT date-time functions</jump></li>
+</ul>
+<p>Anyone who would like to participate in the &xslt4c; initiative to support EXSLT by testing these implementations or implementing
+ other EXSLT functions is more than welcome. Please email us at the <human-resource-ref idref="xalandev"/>.</p>
+</s2>
+
+<anchor name="xalanns"/>
+<s2 title="Xalan namespace">
+<p>We are placing the Xalan extension functions in the XalanExtensions module and we have defined a namespace for this module:</p>
+<p> <code>http://xml.apache.org/xalan</code></p>
+<p>If you are calling &xslt4c;-supplied extensions, we recommend that you define this namespace in your stylesheet element, and
+ call the extension using the namespace prefix that you have associated with that namespace. That way, if we later reorganize
+ how the &xslt4c;-supplied extensions are stored, you won't have to modify your stylesheet.</p>
+<p>For an example that uses this namespace, see <link anchor="ex-nodeset">Example with the nodeset extension function</link>.</p>
+</s2>
+
+<anchor name="nodeset"/>
+<s2 title= "nodeset">
+<p>Implemented in <jump href="apiDocs/classFunctionNodeSet.html">FunctionNodeSet</jump>, <code>nodeset (result-tree-fragment)</code>
+ casts a result tree fragment into a node-set.</p>
+<note>When you bind a variable to a template, rather than to the value generated by a select expression, the data type of the variable
+ is result tree fragment. For more information, see <jump href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments">Result
+ Tree Fragments</jump>.</note>
+
+<anchor name="ex-nodeset"/>
+<s3 title="Example with the nodeset extension function">
+<p>The following stylesheet uses the nodeset extension function to cast a result tree fragment into a node-set that can then be
+ navigated in standard XPath manner. It uses the http://xml.apache.org/xalan namespace to provide access to the nodeset() method
+ in xml.apache.xalan.lib.Extensions.</p>
+<source>
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+ xmlns:xalan="http://xml.apache.org/xalan"
+ exclude-result-prefixes="xalan">
+<xsl:template match="/">
+ <out>
+ <xsl:variable name="rtf">
+ <docelem>
+ <elem1>
+ <elem1a>ELEMENT1A</elem1a>
+ <elem1b>,ELEMENT1B</elem1b>
+ </elem1>
+ <elem2>
+ <elem2a>ELEMENT2A</elem2a>
+ </elem2>
+ </docelem>
+ </xsl:variable>
+ <xsl:for-each select="xalan:nodeset($rtf)/docelem//*">
+ <xsl:value-of select="name(.)"/><xsl:text>,</xsl:text>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+</xsl:stylesheet>
+</source>
+<p>The output of running this stylesheet (with any XML input source) is a comma-delimited list of the element names in the node-set<br/>
+ <code><out>elem1,elem1a,elem1b,elem2,elem2a</out></code></p>
+<note>For illustration purposes, the preceding stylesheet pays no attention to the structure and content of the XML input document.
+ Instead, it processes the template (in the stylesheet) bound to the variable named rtf.</note>
+</s3>
+</s2>
+<anchor name="intersection"/>
+<s2 title="intersection">
+<p>Implemented in <jump href="apiDocs/classFunctionIntersection.html">FunctionIntersection</jump>, <code>intersection (node-set1,
+ node-set2)</code> returns a node-set with all nodes that are in ns1 and in ns2.</p>
+</s2>
+<anchor name="difference"/>
+<s2 title= "difference">
+<p>Implemented in <jump href="apiDocs/classFunctionDifference.html">FunctionDifference</jump>, <code>difference(node-set1,
+ node-set2)</code> returns a node-set with the nodes in node-set1 and not in node-set2.</p>
+</s2>
+<anchor name="distinct"/>
+<s2 title= "distinct">
+<p>Implemented in <jump href="apiDocs/classFunctionDistinct.html">FunctionDistinct</jump>, distinct (node-set) returns a node-set
+ containing nodes with distinct string values. If more than one node in the node-set contains the same text node value, distinct
+ only returns the first of these nodes that it finds.</p>
+</s2>
+<anchor name="evaluate"/>
+<s2 title= "evaluate">
+<p>Implemented in <jump href="apiDocs/classFunctionEvaluate.html">FunctionEvaluate</jump>, <code>evaluate (xpath-expression)</code>
+ returns the result of evaluating the xpath-expression in the current XPath expression context (automatically passed in by the
+ extension mechanism).</p>
+<p>Use the evaluation extension function when the value of the expression is not known until run time.</p>
+</s2>
+<anchor name="hassamenodes"/>
+<s2 title= "hasSameNodes">
+<p>Implemented in <jump href="apiDocs/classFunctionHasSameNodes.html">FunctionHasSameNodes</jump>, <code>hasSameNodes(node-set1,
+ node-set2)</code> returns true if both node-set1 and node-set2 contain exactly the same set of nodes.</p>
+</s2>
+</s1>
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org