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 2014/05/16 18:11:35 UTC
svn commit: r1595253 [12/18] - in /xalan/java/branches/WebSite: ./ xalan-j/
xalan-j/design/ xalan-j/design/resources/ xalan-j/resources/ xalan-j/xsltc/
xalan-j/xsltc/resources/
Added: xalan/java/branches/WebSite/xalan-j/xpath_apis.html
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xpath_apis.html?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xpath_apis.html (added)
+++ xalan/java/branches/WebSite/xalan-j/xpath_apis.html Fri May 16 16:11:33 2014
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ASF: Using the JAXP XPath APIs</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
+</head>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<body>
+<div id="title">
+<table class="HdrTitle">
+<tbody>
+<tr>
+<th rowspan="2">
+<a href="../index.html">
+<img alt="Trademark Logo" src="resources/XalanJ-Logo-tm.png" width="190" height="90" />
+</a>
+</th>
+<th text-align="center" width="75%">
+<a href="index.html">Xalan XSL Transformer User's Guide</a>
+</th>
+</tr>
+<tr>
+<td valign="middle">Using the JAXP XPath APIs</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="http://xalan.apache.org/index.html">Home</a>
+</li></ul><hr /><ul>
+<li>
+<a href="index.html">Xalan-J 2.7.2</a>
+</li>
+<li>
+<a href="charter.html">Charter</a>
+</li></ul><hr /><ul>
+<li>
+<a href="whatsnew.html">What's New</a>
+</li>
+<li>
+<a href="readme.html">Release Notes</a>
+</li></ul><hr /><ul>
+<li>
+<a href="overview.html">Overview</a>
+</li>
+<li>
+<a href="downloads.html">Download/Build</a>
+</li>
+<li>
+<a href="getstarted.html">Getting Started</a>
+</li>
+<li>
+<a href="xsltc_usage.html">Using XSLTC</a>
+</li></ul><hr /><ul>
+<li>
+<a href="faq.html">FAQs</a>
+</li></ul><hr /><ul>
+<li>
+<a href="samples.html">Sample Apps</a>
+</li>
+<li>
+<a href="commandline.html">Command Line</a>
+</li></ul><hr /><ul>
+<li>
+<a href="features.html">Features</a>
+</li>
+<li>
+<a href="trax.html">Transform API</a>
+</li>
+<li>XPath API<br />
+</li>
+<li>
+<a href="usagepatterns.html">Usage Patterns</a>
+</li></ul><hr /><ul>
+<li>
+<a href="apidocs/index.html">Xalan-J API</a>
+</li>
+<li>
+<a href="public_apis.html">Public APIs</a>
+</li>
+<li>
+<a href="dtm.html">DTM</a>
+</li></ul><hr /><ul>
+<li>
+<a href="extensions.html">Extensions</a>
+</li>
+<li>
+<a href="extensionslib.html">Extensions Library</a>
+</li>
+<li>
+<a href="extensions_xsltc.html">XSLTC Exts</a>
+</li></ul><hr /><ul>
+<li>
+<a href="design/design2_0_0.html">Xalan 2 Design</a>
+</li>
+<li>
+<a href="xsltc/index.html">XSLTC Design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="builds.html">Building a release</a>
+</li>
+<li>
+<a href="http://xml.apache.org/xalan-j/test/overview.html">Testing</a>
+</li>
+<li>
+<a href="bugreporting.html">Bug Reporting</a>
+</li></ul><hr /><ul>
+<li>
+<a href="contact_us.html">Contact us</a>
+</li>
+</ul>
+</div>
+<div id="content">
+<h2>Using the JAXP XPath APIs</h2>
+ <ul>
+ <li>
+<a href="#basic">Basic steps</a>
+</li>
+ <li>
+<a href="#plugin">Plugging in the XPathFactory</a>
+</li>
+ <li>
+<a href="#namespacecontext">Using NamespaceContext</a>
+</li>
+ <li>
+<a href="#variableresolver">Using XPathVariableResolver</a>
+</li>
+ <li>
+<a href="#functionresolver">Using XPathFunctionResolver</a>
+</li>
+ <li>
+<a href="#sampleresolver">Using the sample XPathFunctionResolver</a>
+</li>
+ </ul>
+
+ <a name="basic">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Basic steps</h3>
+ <ol>
+ <li>
+<a href="#xpathfactory">Instantiate an XPathFactory</a>
+</li>
+ <li>
+<a href="#xpath">Create an XPath</a>
+</li>
+ <li>
+<a href="#xpathexpression">(optional) Create an XPathExpression</a>
+</li>
+ <li>
+<a href="#evaluation">Evaluate the XPath expression in a specified context</a>
+</li>
+ </ol>
+ <p>The following example illustrates the basic steps involved in evaluating an XPath expression.</p>
+ <blockquote class="source">
+<pre>// 1. Instantiate an XPathFactory.
+ javax.xml.xpath.XPathFactory factory =
+ javax.xml.xpath.XPathFactory.newInstance();
+
+ // 2. Use the XPathFactory to create a new XPath object
+ javax.xml.xpath.XPath xpath = factory.newXPath();
+
+ // 3. Compile an XPath string into an XPathExpression
+ javax.xml.xpath.XPathExpression expression = xpath.compile("/doc/name");
+
+ // 4. Evaluate the XPath expression on an input document
+ String result = expression.evaluate(new org.xml.sax.InputSource("foo.xml"));
+ </pre>
+</blockquote>
+
+
+ <a name="xpathfactory">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>1. Instantiate an XPathFactory</h3>
+ <p>
+<a href="apidocs/javax/xml/xpath/XPathFactory.html">XPathFactory</a> is an abstract class with two static
+ newInstance() methods (<a href="apidocs/javax/xml/xpath/XPathFactory.html#newInstance()">newInstance()</a> and
+ <a href="apidocs/javax/xml/xpath/XPathFactory.html#newInstance(java.lang.String)">newInstance(String uri)</a>)
+ that instantiate the concrete subclass designated as the javax.xml.xpath.XPathFactory service provider.
+ The optional parameter uri specifies the object model. The implementation in Xalan-Java 2 only supports the
+ W3C DOM object model, identified by the URI <a href="apidocs/javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI">
+ DEFAULT_OBJECT_MODEL_URI</a>.</p>
+
+ <p>The default service provider for the javax.xml.xpath.XPathFactory service is
+ <a href="apidocs/org/apache/xpath/jaxp/XPathFactoryImpl.html">org.apache.xpath.jaxp.XPathFactoryImpl</a>.
+ </p>
+
+
+ <a name="xpath">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>2. Create an XPath</h3>
+ You can use the <a href="apidocs/javax/xml/xpath/XPathFactory.html#newXPath()">XPathFactory.newXPath()</a>
+ method to create a new <a href="apidocs/javax/xml/xpath/XPath.html">XPath</a>.
+
+
+ <a name="xpathexpression">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>3. (optional) Create an XPathExpression</h3>
+ You can use the <a href="apidocs/javax/xml/xpath/XPath.html#compile(java.lang.String)">XPath.compile(String expression)</a>
+ method to compile an XPath string into an <a href="apidocs/javax/xml/xpath/XPathExpression.html">XPathExpression</a> object
+ for later evaluation. This is an optional step.
+ You can evaluate an XPath expression without compiling it first.
+
+
+ <a name="evaluation">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>4. Evaluate an XPath expression</h3>
+ <p>If you compile an XPath String into an <a href="apidocs/javax/xml/xpath/XPathExpression.html">XPathExpression</a>
+ in step 3, you can use one of the four evaluate() methods in
+ the XPathExpression interface to evaluate the XPath expression. If the evaluation context is a W3C Node in an
+ existing Document, you can use the <a href="apidocs/javax/xml/xpath/XPathExpression.html#evaluate(java.lang.Object)">
+ evaluate(Object item)</a> or <a href="apidocs/javax/xml/xpath/XPathExpression.html#evaluate(java.lang.Object, javax.xml.namespace.QName)">
+ evaluate(Object item, QName returnType)</a> method by passing the context item as the first parameter.
+ The method with a returnType parameter allows you to specify the return type as one of the following supported
+ return types:
+ <li>
+<a href="apidocs/javax/xml/xpath/XPathConstants.html#BOOLEAN">XPathConstants.BOOLEAN</a>
+</li>
+ <li>
+<a href="apidocs/javax/xml/xpath/XPathConstants.html#NUMBER">XPathConstants.NUMBER</a>
+</li>
+ <li>
+<a href="apidocs/javax/xml/xpath/XPathConstants.html#STRING">XPathConstants.STRING</a>
+</li>
+ <li>
+<a href="apidocs/javax/xml/xpath/XPathConstants.html#NODESET">XPathConstants.NODESET</a>
+</li>
+ <li>
+<a href="apidocs/javax/xml/xpath/XPathConstants.html#NODE">XPathConstants.NODE</a>
+</li>
+ </p>
+ <p>If the returnType parameter is not specified, the default is XPathConstants.STRING.</p>
+ <p>If the evaluation context is an input document, you can use one of the two evaluate() methods with an
+ InputSource parameter (<a href="apidocs/javax/xml/xpath/XPathExpression.html#evaluate(org.xml.sax.InputSource)">evaluate(InputSource source)</a>
+ or <a href="apidocs/javax/xml/xpath/XPathExpression.html#evaluate(org.xml.sax.InputSource, javax.xml.namespace.QName)">
+ evaluate(InputSource source, QName returnType)</a>) to evaluate the XPath expression.</p>
+ <p>The compiling step allows you to reuse an XPath expression for evaluation on multiple contexts.
+ If an XPath expression is only used once, you can use one of the four evaluate() methods in the
+ <a href="apidocs/javax/xml/xpath/XPath.html">XPath</a> interface
+ to evaluate the XPath expression without compiling it first.</p>
+
+
+ <a name="plugin">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Plugging in the XPathFactory</h3>
+ <p>The Java API for XML Processing interfaces enable you to plug in your own implementation of XPathFactory.
+ The abstract class XPathFactory has a static newInstance() method that instantiates a concrete Factory
+ which wraps the underlying implementation. The newInstance() method uses system property settings to determine
+ which implementation to instantiate.</p>
+ <p>Xalan-Java 2 is distributed with a pre-configured setting for the provider of the XPathFactory service. This setting is in
+ xalan.jar in META-INF/services/javax.xml.xpath.XPathFactory, with a value of org.apache.xpath.jaxp.XPathFactoryImpl.</p>
+ <p>You can plug in a new XPathFactory as follows (in order of precedence):
+ <ol>
+ <li>Set the system property "javax.xml.xpath.XPathFactory" + ":uri" from the command line when you
+ launch Java or from within your application, where uri is the URI of the underlying object model. The URI of
+ the default W3C DOM object model is <code>http://java.sun.com/jaxp/xpath/dom</code>.</li>
+ <li>Set the property in jaxp.properties in the JAVA_HOME/lib directory, where JAVA_HOME is the root of
+ the JDK.</li>
+ <li>Revise the entry in src/META-INF/services/javax.xml.xpath.XPathFactory and rebuild xalan.jar. Each potential service
+ provider entry in this file is required to implement the method <code>isObjectModelSupported(String objectModel).</code>
+ The first service provider found in class loader order that supports the specified object model will be used.</li>
+ </ol>
+ </p>
+
+
+ <a name="namespacecontext">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Using NamespaceContext</h3>
+ <p>If namespace prefixes are used in an XPath expression, the XPath processor needs to know what namespace URIs
+ the prefixes are bound to. Logically a prefix can only be bound to a single Namespace URI in the current scope. However,
+ a Namespace URI can be bound to multiple prefixes in the current scope. The information about namespace
+ prefix to URI mappings is provided by an object that implements the
+ <a href="apidocs/javax/xml/namespace/NamespaceContext.html">javax.xml.namespace.NamespaceContext</a> interface.</p>
+ <p>Suppose you want to evaluate the XPath expression <code>"/foo:document/bar:element"</code> on the following xml document:</p>
+ <blockquote class="source">
+<pre>
+ <?xml version='1.0'?>
+ <foo:document xmlns:foo="http://apache.org/foo" xmlns:bar="http://apache.org/bar">
+ <bar:element>MyBar</bar:element>
+ </foo:document>
+ </pre>
+</blockquote>
+
+ <p>You need to create your own implementation of <a href="apidocs/javax/xml/namespace/NamespaceContext.html">NamespaceContext</a>
+ to inform the XPath processor what namespace URIs
+ the prefixes are bound to. For the example above, you can create a NamespaceContext implementation as follows:</p>
+ <blockquote class="source">
+<pre>
+ public class MyNamespaceContext implements NamespaceContext
+ {
+ public String getNamespaceURI(String prefix)
+ {
+ if (prefix.equals("foo"))
+ return "http://apache.org/foo";
+ else if (prefix.equals("bar"))
+ return "http://apache.org/bar";
+ else
+ return XMLConstants.NULL_NS_URI;
+ }
+
+ public String getPrefix(String namespace)
+ {
+ if (namespace.equals("http://apache.org/foo"))
+ return "foo";
+ else if (namespace.equals("http://apache.org/bar"))
+ return "bar";
+ else
+ return null;
+ }
+
+ public Iterator getPrefixes(String namespace)
+ {
+ return null;
+ }
+ }
+ </pre>
+</blockquote>
+
+ <p>Then you can use the <a href="apidocs/javax/xml/xpath/XPath.html#setNamespaceContext(javax.xml.namespace.NamespaceContext)">
+ XPath.setNamespaceContext(NamespaceContext nsContext)</a>
+ method to set the NamespaceContext on the XPath object you create using the <a href="#basic">basic steps</a>.</p>
+ <p>The XPath processor in Xalan-Java 2 only uses the <a href="apidocs/javax/xml/namespace/NamespaceContext.html#getNamespaceURI(java.lang.String)">
+ getNamespaceURI(String prefix)</a>
+ method on NamespaceContext. The other two methods
+ <a href="apidocs/javax/xml/namespace/NamespaceContext.html#getPrefix(java.lang.String)">getPrefix(String namespace)</a>
+ and <a href="apidocs/javax/xml/namespace/NamespaceContext.html#getPrefixes(java.lang.String)">getPrefixes(String namespace)</a>
+ are not used. If the NamespaceContext object is only used by the XPath processor, you can let the unused methods
+ return null for simplicity.</p>
+
+
+
+ <a name="variableresolver">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Using XPathVariableResolver</h3>
+ <p>
+<a href="apidocs/javax/xml/xpath/XPathVariableResolver.html">XPathVariableResolver</a> provides access to the set of user
+ defined XPath variables. If an XPath expression contains
+ a variable reference, we need to set a XPathVariableResolver on the XPath object using the
+ <a href="apidocs/javax/xml/xpath/XPath.html#setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver)">
+ XPath.setXPathVariableResolver(XPathVariableResolver resolver)</a>
+ method. You can also set the XPathVariableResolver on the XPathFactory, using the
+ <a href="apidocs/javax/xml/xpath/XPathFactory.html#setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver)">
+ XPathFactory.setXPathVariableResolver(XPathVariableResolver resolver)</a>
+ method. If the XPathVariableResolver is set on the XPathFacory, then all XPath objects constructed from this
+ XPathFactory will use the specified XPathVariableResolver by default. The XPath processor uses the
+ XPathVariableResolver to retrieve the value of a user defined variable. In the course of evaluating any
+ single XPath expression, a variable's value must be immutable. </p>
+ <p>Suppose that the XPath expression to be evaluated is <code>"$x + $y"</code>, we need to provide a XPathVariableResolver
+ implementation from which the values of the variable x and y can be retrieved. For this example, the
+ XPathVariableResolver implementation can be written as follows:</p>
+ <blockquote class="source">
+<pre>
+ public class MyVariableResolver implements XPathVariableResolver
+ {
+ public Object resolveVariable(QName var)
+ {
+ if (var == null)
+ throw new NullPointerException("The variable name cannot be null");
+
+ if (var.equals(new QName("x")))
+ return new Integer(2);
+ else if (var.equals(new QName("y")))
+ return new Integer(3);
+ else
+ return null;
+ }
+ }
+ </pre>
+</blockquote>
+
+
+ <a name="functionresolver">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Using XPathFunctionResolver</h3>
+ <p>
+<a href="apidocs/javax/xml/xpath/XPathFunctionResolver.html">XPathFunctionResolver</a> provides access to the
+ set of user defined XPathFunctions. If an XPath expression contains
+ an extension function, you can use the
+ <a href="apidocs/javax/xml/xpath/XPath.html#setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver)">
+ XPath.setXPathFunctionResolver(XPathFunctionResolver resolver)</a>
+ method to set a XPathFunctionResolver on the XPath object. You can also use the
+ <a href="apidocs/javax/xml/xpath/XPathFactory.html#setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver)">
+ XPathFactory.setXPathFunctionResolver(XPathFunctionResolver resolver)</a>
+ method to set a XPathFunctionResolver on the XPathFactory, in which case all XPath objects constructed from this
+ XPathFactory will use the specified XPathVariableResolver by default.</p>
+ <p>The XPathFunctionResolver interface only has one method:</p>
+ <p>
+<a href="apidocs/javax/xml/xpath/XPathFunctionResolver.html#resolveFunction(javax.xml.namespace.QName, int)">
+ <code>public XPathFunction resolveFunction(QName functionName, int arity)</code>
+</a>
+</p>
+ <p>This method returns a XPathFunction object from the given function name and arity. XPath functions are resolved
+ by name and arity. The parameter types have no impact here. XPathFunctionResolver is only used for functions with
+ an explicit prefix. It is not needed for XPath built-in functions and it cannot be used to override those functions.</p>
+ <p>The XPathFunction interface has only one method:</p>
+ <p>
+<a href="apidocs/javax/xml/xpath/XPathFunction.html#evaluate(java.util.List)">
+ <code>public java.lang.Object evaluate(java.util.List args) throws XPathFunctionException</code>
+</a>
+</p>
+ <p>The function parameters are passed in using the args parameter as a java.util.List. And the method returns the result
+ of evaluating the XPath function as an Object.</p>
+ <p>To support the use of extension functions in an XPath expression, a user needs to provide implementations of
+ the XPathFunctionResolver and XPathFunction interfaces. The resolveFunction method of the XPathFunctionResolver
+ implementation should return an object of a class that implements the XPathFunction interface.</p>
+ <p>Suppose we want to evaluate the XPath expression <code>"ext:myAdditionFunction(2, 3)"</code>, and the purpose
+ of the extension function is simply to return the sum of the two parameters. Because an extension function
+ always has an explicit prefix, we also need to implement the NamespaceContext interface to provide a namespace
+ prefix to URI mapping. For this example, we need to implement three interfaces: NamespaceContext,
+ XPathFunctionResolver and XPathFunction. A sample implementation is as follows:</p>
+ <blockquote class="source">
+<pre>
+ public class MyNamespaceContext implements NamespaceContext
+ {
+ public String getNamespaceURI(String prefix)
+ {
+ if (prefix == null)
+ throw new IllegalArgumentException("The prefix cannot be null.");
+
+ if (prefix.equals("ext"))
+ return "http://ext.com";
+ else
+ return null;
+ }
+
+ public String getPrefix(String namespace)
+ {
+ if (namespace == null)
+ throw new IllegalArgumentException("The namespace uri cannot be null.");
+ if (namespace.equals("http://ext.com"))
+ return "ext";
+ else
+ return null;
+ }
+
+ public Iterator getPrefixes(String namespace)
+ {
+ return null;
+ }
+ }
+
+ /**
+ * The XPathFunctionResolver implementation is used to evaluate
+ * the extension function "ext:myAdditionFunction(2, 3)".
+ */
+ public class MyFunctionResolver implements XPathFunctionResolver
+ {
+ /**
+ * This method returns a customized XPathFunction implementation
+ * for the extension function "ext:myAdditionFunction(2, 3)".
+ */
+ public XPathFunction resolveFunction(QName fname, int arity)
+ {
+ if (fname == null)
+ throw new NullPointerException("The function name cannot be null.");
+
+ // We only recognize one function, i.e. ex:addFunc().
+ if (fname.equals(new QName("http://ext.com", "myAdditionFunction", "ext")))
+ /**
+ * Return a customized implementation of XPathFunction. We need
+ * to implement the evaluate(List) method.
+ */
+ return new XPathFunction() {
+ /**
+ * The actual implementation of the extension function.
+ * Just cast two arguments to Double and add them together.
+ */
+ public Object evaluate(java.util.List args) {
+ if (args.size() == 2) {
+ Double arg1 = (Double)args.get(0);
+ Double arg2 = (Double)args.get(1);
+ return new Double(arg1.doubleValue() + arg2.doubleValue());
+ }
+ else
+ return null;
+ }
+ };
+ else
+ return null;
+ }
+ }
+ </pre>
+</blockquote>
+
+
+ <a name="sampleresolver">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Using the sample XPathFunctionResolver</h3>
+ <p>Normally you need to provide your own implementation of XPathFunctionResolver in order to use
+ extension functions in XPath expressions. In Xalan-Java 2, we provide a sample implementation
+ of XPathFunctionResolver in the class org.apache.xalan.extensions.XPathFunctionResolverImpl, with supports
+ for Java and EXSLT extensions. If you set the XPathFunctionResolver to an object of this class, then
+ you can use Java and EXSLT extension functions in the XPath expression. You also need to use a
+ NamespaceContext along with the sample XPathFunctionResolver. Xalan-Java 2 also includes a sample
+ implementation of NamespaceContext in org.apache.xalan.extensions.ExtensionNamespaceContext, which
+ provides the following namespace prefix to URI mappings:</p>
+
+ <table border="1">
+ <tr>
+ <th class="content" rowspan="1" colspan="1">Prefix</th>
+ <th class="content" rowspan="1" colspan="1">URI</th>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">java</td>
+ <td class="content" rowspan="1" colspan="1">http://xml.apache.org/xalan/java</td>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">exslt</td>
+ <td class="content" rowspan="1" colspan="1">http://exslt.org/common</td>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">math</td>
+ <td class="content" rowspan="1" colspan="1">http://exslt.org/math</td>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">set</td>
+ <td class="content" rowspan="1" colspan="1">http://exslt.org/sets</td>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">str</td>
+ <td class="content" rowspan="1" colspan="1">http://exslt.org/strings</td>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">dyn</td>
+ <td class="content" rowspan="1" colspan="1">http://exslt.org/dynamic</td>
+ </tr>
+ <tr>
+ <td class="content" rowspan="1" colspan="1">datetime</td>
+ <td class="content" rowspan="1" colspan="1">http://exslt.org/dates-and-times</td>
+ </tr>
+ </table>
+
+ <p>Suppose you want to evaluate the XPath expression <code>"math:max(/doc/num)"</code>, which contains
+ an EXSLT extension call. Here the prefix <code>"math"</code> corresponds to the URI <code>"http://exslt.org/math"</code>.
+ The following code snippet demonstrates how to use the sample XPathFunctionResolver to evaluate the
+ XPath expression above:</p>
+ <blockquote class="source">
+<pre>
+ XPathFactory factory = XPathFactory.newInstance();
+ XPath xpath = factory.newXPath();
+
+ // set the NamespaceContext to
+ // org.apache.xalan.extensions.ExtensionNamespaceContext
+ xpath.setNamespaceContext(new org.apache.xalan.extensions.ExtensionNamespaceContext());
+
+ // set the XPathFunctionResolver to
+ // org.apache.xalan.extensions.XPathFunctionResolverImpl
+ xpath.setXPathFunctionResolver(new org.apache.xalan.extensions.XPathFunctionResolverImpl());
+
+ // Evaluate the XPath expression "math:max(/doc/num)" against
+ // the input document numlist.xml
+ Object result = xpath.evaluate("math:max(/doc/num)", new InputSource("numlist.xml"), XPathConstants.NUMBER);
+ </pre>
+</blockquote>
+
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+</div>
+<div id="footer">Copyright © 1999-2014 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 - Thu 2014-05-15</div>
+</div>
+</body>
+</html>
Propchange: xalan/java/branches/WebSite/xalan-j/xpath_apis.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: xalan/java/branches/WebSite/xalan-j/xsltc/DOMInterface.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/DOMInterface.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/DOMInterface.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/DOMLocking.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/DOMLocking.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/DOMLocking.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/all_namespaces.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/all_namespaces.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/all_namespaces.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage1.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage1.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage1.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage2.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage2.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage2.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage3.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage3.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/ast_stage3.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/cast_expression.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/cast_expression.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/cast_expression.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/class_loader.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/class_loader.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/class_loader.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_AST.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/compiler_AST.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_AST.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_DOM.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/compiler_DOM.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_DOM.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_architecture.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/compiler_architecture.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_architecture.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_design.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/compiler_design.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/compiler_design.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace1.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace1.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace1.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace2.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace2.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace2.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace3.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace3.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/dom_namespace3.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/index.html
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/index.html?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc/index.html (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc/index.html Fri May 16 16:11:33 2014
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ASF: XSLTC Documentation</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
+</head>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<body>
+<div id="title">
+<table class="HdrTitle">
+<tbody>
+<tr>
+<th rowspan="2">
+<a href="../index.html">
+<img alt="Trademark Logo" src="resources/XalanJ-Logo-tm.png" width="190" height="90" />
+</a>
+</th>
+<th text-align="center" width="75%">
+<a href="index.html">XSLTC Design</a>
+</th>
+</tr>
+<tr>
+<td valign="middle">XSLTC Documentation</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>Overview<br />
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_compiler.html">Compiler design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_whitespace_design.html">Whitespace</a>
+</li>
+<li>
+<a href="xsl_sort_design.html">xsl:sort</a>
+</li>
+<li>
+<a href="xsl_key_design.html">Keys</a>
+</li>
+<li>
+<a href="xsl_comment_design.html">Comment design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_lang_design.html">lang()</a>
+</li>
+<li>
+<a href="xsl_unparsed_design.html">Unparsed entities</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_if_design.html">If design</a>
+</li>
+<li>
+<a href="xsl_choose_design.html">Choose|When|Otherwise design</a>
+</li>
+<li>
+<a href="xsl_include_design.html">Include|Import design</a>
+</li>
+<li>
+<a href="xsl_variable_design.html">Variable|Param design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_runtime.html">Runtime</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_dom.html">Internal DOM</a>
+</li>
+<li>
+<a href="xsltc_namespace.html">Namespaces</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_trax.html">Translet & TrAX</a>
+</li>
+<li>
+<a href="xsltc_predicates.html">XPath Predicates</a>
+</li>
+<li>
+<a href="xsltc_iterators.html">Xsltc Iterators</a>
+</li>
+<li>
+<a href="xsltc_native_api.html">Xsltc Native API</a>
+</li>
+<li>
+<a href="xsltc_trax_api.html">Xsltc TrAX API</a>
+</li>
+<li>
+<a href="xsltc_performance.html">Performance Hints</a>
+</li>
+</ul>
+</div>
+<div id="content">
+<h2>XSLTC Documentation</h2>
+
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>User Documentation</h3>
+ <p>The following user documentation is currently available:</p>
+ <ul>
+ <li>Command-line <a href="README.xsltc">compiler</a> and
+ <a href="README.xslt">runtime</a> man pages.</li>
+ <li>
+<a href="xsltc_native_api.html">XSLTC Native API reference</a>
+</li>
+ <li>
+<a href="xsltc_trax_api.html">XSLTC TrAX API reference</a>
+</li>
+ <li>
+<a href="xsltc_performance.html">XSLTC Performance Hints</a>
+</li>
+ </ul>
+
+
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Design Documents</h3>
+ <p>The following design documents are currently available:</p>
+ <ul>
+ <li>
+<a href="#overall">XSLTC overall design</a>
+</li>
+ <li>
+<a href="#compiler">XSLTC compiler design</a>
+</li>
+ <li>
+<a href="#runtime">XSLTC runtime library design</a>
+</li>
+ <li>
+<a href="#runtime">XSLTC internal DOM design</a>
+</li>
+ <li>
+<a href="#trax">XSLTC TrAX implementation design</a>
+</li>
+ </ul>
+
+
+
+ <a name="overall">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h4>XSLTC overall design</h4>
+
+ <p>The figure below describes the overall design of XSLTC's compiler:</p>
+ <p>
+<img src="overall_design.gif" alt="overall_design.gif" />
+</p>
+ <p>
+<b>
+<i>Figure 1: Architectural overview of XSLTC</i>
+</b>
+</p>
+
+ <p>A client application can use XSLTC either through its
+ <a href="xsltc_native_api.html">native API</a> or through or
+ implementation of the <a href="xsltc_trax_api.html">TrAX API</a>. The
+ <a href="#compiler">compiler</a> generates one or more Java classes
+ (we have chosen to call them 'translets').
+ The <a href="#runtime">runtime library</a> contains classes that
+ can load these translets and use them to transform XML documents to some
+ markup language or plain text. There is also a detailed document describing
+ <a href="xsltc_namespace.html">namespace handling</a> in all parts of
+ XSLTC (compiler, internal DOM, and output handler).</p>
+
+
+
+
+ <a name="compiler">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h4>XSLTC compiler design</h4>
+
+ <p>The figure below describes the overall design of XSLTC's compiler:</p>
+ <p>
+<img src="compiler_design.gif" alt="compiler_design.gif" />
+</p>
+ <p>
+<b>
+<i>Figure 2: Compiler architecture overview</i>
+</b>
+</p>
+
+ <p>There is also a <a href="xsltc_compiler.html">high-level design</a>
+ document for XSLTC's compiler. Apart from that you can also find separate
+ design documents for some XSL elements and XPath expressions, patterns
+ and functions:</p>
+
+ <h5>XSL elements</h5>
+ <ul>
+ <li>
+<a href="xsl_sort_design.html"><xsl:sort></a>
+</li>
+ <li>
+<a href="xsl_key_design.html"><xsl:key></a>
+</li>
+ <li>
+<a href="xsl_whitespace_design.html"><xsl:preserve-space></a>
+</li>
+ <li>
+<a href="xsl_whitespace_design.html"><xsl:strip-space></a>
+</li>
+ <li>
+<a href="xsl_comment_design.html"><xsl:comment></a>
+</li>
+ <li>
+<a href="xsl_comment_design.html"><xsl:message></a>
+</li>
+ <li>
+<a href="xsl_if_design.html"><xsl:if></a>
+</li>
+ <li>
+<a href="xsl_choose_design.html"><xsl:choose></a>
+</li>
+ <li>
+<a href="xsl_variable_design.html"><xsl:variable></a>
+</li>
+ <li>
+<a href="xsl_variable_design.html"><xsl:param></a>
+</li>
+ <li>
+<a href="xsl_include_design.html"><xsl:include></a>
+</li>
+ <li>
+<a href="xsl_include_design.html"><xsl:import></a>
+</li>
+ </ul>
+
+ <h5>XPath functions</h5>
+ <ul>
+ <li>
+<a href="xsl_key_design.html">key()</a>
+</li>
+ <li>
+<a href="xsl_lang_design.html">lang()</a>
+</li>
+ <li>
+<a href="xsl_unparsed_design.html">unparsed-entity-uri()</a>
+</li>
+ </ul>
+
+ <h5>XPath expressons</h5>
+ <ul>
+ <li>
+<a href="xsltc_predicates.html">Predicates</a>
+</li>
+ </ul>
+
+
+ <h5>XPath patterns</h5>
+ <ul>
+ <li>
+<a href="xsltc_predicates.html#step-pattern">StepPattern</a>
+</li>
+ <li>
+<a href="xsl_key_design.html#patterns">IdPattern</a>
+</li>
+ <li>
+<a href="xsl_key_design.html#patterns">KeyPattern</a>
+</li>
+ </ul>
+
+
+
+
+ <a name="runtime">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h4>XSLTC runtime library design</h4>
+
+ <p>The runtime portion of XSLTC has four main components; the internal DOM
+ implementation (not W3C), the translet class(es), the runtime
+ library and the output processor:</p>
+
+ <p>
+<img src="runtime_design.gif" alt="runtime_design.gif" />
+</p>
+ <p>
+<b>
+<i>Figure 3: Runtime library architecture overview</i>
+</b>
+</p>
+
+ <p>The <a href="xsltc_runtime.html">runtime library design</a> document
+ describes the structure of the compiled translet as well as the translet
+ runtime library.</p>
+
+ <p>The <a href="xsltc_dom.html">Internal DOM design</a> document
+ describes the components and structure of the internal DOM, support for
+ DOM2 navigation, the DOM adapter, DOM multiplexer, and DOM builder.</p>
+
+ <p>The <a href="xsltc_iterators.html">iterator design</a> document
+ describes the general design of the internal DOM iterators and describes
+ some of the more complicated iterators in detail.</p>
+
+
+
+
+ <a name="trax">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h4>XSLTC TrAX Implementation</h4>
+
+ <p>An implementation of the JAXP/ TrAX interface was added on to XSLTC
+ at a late stage. Special care was taken to preserve the small footprint
+ and high performance of XSLTC. The following design was used to wrap
+ XSLTC behind a lightweight (but complete) TrAX implementation:</p>
+
+ <p>
+<img src="trax_translet_wrapping.gif" alt="trax_translet_wrapping.gif" />
+</p>
+ <p>
+<b>
+<i>Figure 4: XSLTC TrAX interface implementation</i>
+</b>
+</p>
+
+ <p>The <a href="xsltc_trax.html">TrAX design</a> document contains
+ details of XSLTC's TrAX implementation.</p>
+
+ <p>XSLTC also has a 'smart' TrAX <code>TransformerFactory</code> class
+ that will alternate between using XSLTC and Xalan for transformations.
+ This factory class will make its choices based on usage patterns. This will
+ be described in a separate design document.</p>
+
+
+
+
+
+ <p>
+<b>
+<i>Design documents by <a href="mailto:morten@xml.apache.org">Morten Jørgensen</a> - updated 13.12.2001</i>
+</b>
+</p>
+
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+</div>
+<div id="footer">Copyright © 1999-2014 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 - Thu 2014-05-15</div>
+</div>
+</body>
+</html>
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/index.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: xalan/java/branches/WebSite/xalan-j/xsltc/iterator_stack.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/iterator_stack.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/iterator_stack.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/key_relations.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/key_relations.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/key_relations.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/match_namespace1.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/match_namespace1.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/match_namespace1.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/match_namespace2.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/match_namespace2.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/match_namespace2.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/namespace_stack.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/namespace_stack.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/namespace_stack.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/output_namespaces1.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/output_namespaces1.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/output_namespaces1.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/output_namespaces2.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/output_namespaces2.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/output_namespaces2.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/output_settings.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/output_settings.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/output_settings.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/overall_design.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/overall_design.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/overall_design.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/pattern_objects.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/pattern_objects.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/pattern_objects.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo-tm.png
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo-tm.png?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo-tm.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo.txt
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo.txt?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo.txt (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo.txt Fri May 16 16:11:33 2014
@@ -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
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Logo.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Trademark.txt
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Trademark.txt?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Trademark.txt (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Trademark.txt Fri May 16 16:11:33 2014
@@ -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
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/resources/Xalan-Trademark.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/XalanJ-Logo-tm.png
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/XalanJ-Logo-tm.png?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/resources/XalanJ-Logo-tm.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/apache-xalan.css
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/apache-xalan.css?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc/resources/apache-xalan.css (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc/resources/apache-xalan.css Fri May 16 16:11:33 2014
@@ -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;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/asf_logo.png
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/asf_logo.png?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/resources/asf_logo.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/resources/note.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/resources/note.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/resources/note.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/runtime_architecture.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/runtime_architecture.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/runtime_architecture.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/runtime_design.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/runtime_design.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/runtime_design.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/runtime_type_mapping.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/runtime_type_mapping.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/runtime_type_mapping.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/sort_objects.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/sort_objects.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/sort_objects.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/translet_wrapping.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/translet_wrapping.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/translet_wrapping.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/trax_output_settings.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/trax_output_settings.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/trax_output_settings.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/trax_translet_wrapping.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/trax_translet_wrapping.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/trax_translet_wrapping.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/type_mapping.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/type_mapping.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/type_mapping.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/type_mappings.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/type_mappings.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/type_mappings.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/typecast.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/typecast.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/typecast.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/uri_resolver.gif
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/uri_resolver.gif?rev=1595253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/uri_resolver.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xalan/java/branches/WebSite/xalan-j/xsltc/xsl_choose_design.html
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/xsl_choose_design.html?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc/xsl_choose_design.html (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc/xsl_choose_design.html Fri May 16 16:11:33 2014
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ASF: <xsl:choose> / <xsl:when> / <xsl:otherwise></title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
+</head>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<body>
+<div id="title">
+<table class="HdrTitle">
+<tbody>
+<tr>
+<th rowspan="2">
+<a href="../index.html">
+<img alt="Trademark Logo" src="resources/XalanJ-Logo-tm.png" width="190" height="90" />
+</a>
+</th>
+<th text-align="center" width="75%">
+<a href="index.html">XSLTC Design</a>
+</th>
+</tr>
+<tr>
+<td valign="middle"><xsl:choose> / <xsl:when> / <xsl:otherwise></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">Overview</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_compiler.html">Compiler design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_whitespace_design.html">Whitespace</a>
+</li>
+<li>
+<a href="xsl_sort_design.html">xsl:sort</a>
+</li>
+<li>
+<a href="xsl_key_design.html">Keys</a>
+</li>
+<li>
+<a href="xsl_comment_design.html">Comment design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_lang_design.html">lang()</a>
+</li>
+<li>
+<a href="xsl_unparsed_design.html">Unparsed entities</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_if_design.html">If design</a>
+</li>
+<li>Choose|When|Otherwise design<br />
+</li>
+<li>
+<a href="xsl_include_design.html">Include|Import design</a>
+</li>
+<li>
+<a href="xsl_variable_design.html">Variable|Param design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_runtime.html">Runtime</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_dom.html">Internal DOM</a>
+</li>
+<li>
+<a href="xsltc_namespace.html">Namespaces</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_trax.html">Translet & TrAX</a>
+</li>
+<li>
+<a href="xsltc_predicates.html">XPath Predicates</a>
+</li>
+<li>
+<a href="xsltc_iterators.html">Xsltc Iterators</a>
+</li>
+<li>
+<a href="xsltc_native_api.html">Xsltc Native API</a>
+</li>
+<li>
+<a href="xsltc_trax_api.html">Xsltc TrAX API</a>
+</li>
+<li>
+<a href="xsltc_performance.html">Performance Hints</a>
+</li>
+</ul>
+</div>
+<div id="content">
+<h2><xsl:choose> / <xsl:when> / <xsl:otherwise></h2>
+
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Contents</h3>
+ <ul>
+ <li>
+<a href="#functionality">Functionality</a>
+</li>
+ <li>
+<a href="#implementation">Implementation</a>
+</li>
+ </ul>
+
+
+ <a name="functionality">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Functionality</h3>
+
+ <p>The <code><xsl:choose></code> element is used to determine one
+ course of action based on a series of tests. Each test is done inside an
+ <code><xsl:when></code> element. If a test succeeds, the body of the
+ <code><xsl:when></code> element is executed. If no tests fail then
+ a <code><xsl:otherwise></code> element can be used to specify a
+ default action:</p>
+
+ <blockquote class="source">
+<pre>
+ <xsl:choose>
+ <xsl:when test="element-available('some-extension')">
+ ...
+ </xsl:when>
+ <xsl:when test="function-availabe('saxon:nodeset')">
+ ...
+ </xsl:when>
+ <xsl:otherwise>
+ ...
+ </xsl:otherwise>
+ </xsl:choose></pre>
+</blockquote>
+
+
+
+ <a name="implementation">â</a>
+ <p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Implementation</h3>
+
+ <p>The <code>Choose</code> class places all <code>When</code> child-nodes
+ in a vector. The <code>Choose</code> class translates the "test"-attribute
+ of all <code>When</code> nodes (in strict order) and chains them together
+ in an if-else style. The expression that holds each test contains a true-
+ and a false-list. These lists are vectors of branch targets that should be
+ used if the test succeeds or fails, respectively. The first test's
+ false-list is pointed to the start of the next test (ie. if the first test
+ fails, then we run the next test). The last test's false-list points directly
+ to the code for the body of the <code><xsl:otherwise></code> element.
+ </p>
+
+ <p>Just as with the <code><xsl:if></code>-element, special care is
+ taken for the <code>element-available()</code> and
+ <code>function-available()</code> functions. These functions are evaluated at
+ compile-time (this can be done since all parameters for these functions are
+ literals) and the body of a <code><xsl:when></code> element is not
+ compiled if we know that it will never be needed at runtime.</p>
+
+
+
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+</div>
+<div id="footer">Copyright © 1999-2014 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 - Thu 2014-05-15</div>
+</div>
+</body>
+</html>
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/xsl_choose_design.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: xalan/java/branches/WebSite/xalan-j/xsltc/xsl_comment_design.html
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc/xsl_comment_design.html?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc/xsl_comment_design.html (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc/xsl_comment_design.html Fri May 16 16:11:33 2014
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ASF: <xsl:comment> / <xsl:message></title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
+</head>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<body>
+<div id="title">
+<table class="HdrTitle">
+<tbody>
+<tr>
+<th rowspan="2">
+<a href="../index.html">
+<img alt="Trademark Logo" src="resources/XalanJ-Logo-tm.png" width="190" height="90" />
+</a>
+</th>
+<th text-align="center" width="75%">
+<a href="index.html">XSLTC Design</a>
+</th>
+</tr>
+<tr>
+<td valign="middle"><xsl:comment> / <xsl:message></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">Overview</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_compiler.html">Compiler design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_whitespace_design.html">Whitespace</a>
+</li>
+<li>
+<a href="xsl_sort_design.html">xsl:sort</a>
+</li>
+<li>
+<a href="xsl_key_design.html">Keys</a>
+</li>
+<li>Comment design<br />
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_lang_design.html">lang()</a>
+</li>
+<li>
+<a href="xsl_unparsed_design.html">Unparsed entities</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsl_if_design.html">If design</a>
+</li>
+<li>
+<a href="xsl_choose_design.html">Choose|When|Otherwise design</a>
+</li>
+<li>
+<a href="xsl_include_design.html">Include|Import design</a>
+</li>
+<li>
+<a href="xsl_variable_design.html">Variable|Param design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_runtime.html">Runtime</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_dom.html">Internal DOM</a>
+</li>
+<li>
+<a href="xsltc_namespace.html">Namespaces</a>
+</li></ul><hr /><ul>
+<li>
+<a href="xsltc_trax.html">Translet & TrAX</a>
+</li>
+<li>
+<a href="xsltc_predicates.html">XPath Predicates</a>
+</li>
+<li>
+<a href="xsltc_iterators.html">Xsltc Iterators</a>
+</li>
+<li>
+<a href="xsltc_native_api.html">Xsltc Native API</a>
+</li>
+<li>
+<a href="xsltc_trax_api.html">Xsltc TrAX API</a>
+</li>
+<li>
+<a href="xsltc_performance.html">Performance Hints</a>
+</li>
+</ul>
+</div>
+<div id="content">
+<h2><xsl:comment> / <xsl:message></h2>
+
+ <ul>
+ <li>
+<a href="#functionality">Functionality</a>
+</li>
+ <li>
+<a href="#implementation">Implementation</a>
+</li>
+ </ul>
+<a name="functionality">â</a>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Functionality</h3>
+
+ <p>The <code><xsl:comment></code> element is used to insert XML comments
+ into the result document. The comment is inserted as follows in the XSL
+ stylesheet:</p>
+
+ <blockquote class="source">
+<pre> <element>
+ <xsl:comment>This is a comment!</xsl:comment>
+ </element></pre>
+</blockquote>
+
+ <p>and it will be output in the result document as follows:</p>
+
+ <blockquote class="source">
+<pre> <element>
+ <!-- This is a comment! -->
+ </element></pre>
+</blockquote>
+
+ <p>The <code><xsl:message></code> element is used to send messages to
+ who/whatever is performing the transformation. The message can be displayed
+ in a terminal, a dialog box, etc. The <code><xsl:message></code> element
+ is used in the same way as the <code><xsl:comment></code> element,
+ however the message is <b>not</b> output in the result document.</p>
+
+ <p>The <code><xsl:message></code> element has an attribute
+ <code>"terminate"</code> which can be used to terminate the transformation at any
+ given stage. This is useful when using message to give information about
+ illegal values in the input document.</p>
+<a name="implementation">â</a>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Implementation</h3>
+
+ <p>The output handler class has a method for outputting comments in the
+ output document and messages to the operator. The code compiled for a
+ comment gathers all text that goes into the comment in a StringValueHandler
+ object, retrieves the full text string from this handler, and then finally
+ sends it to the output handler. Similarly the code compiled for a message
+ will simply send the message to the output handler in use.</p>
+
+ <p>Messages will be output to the terminal (stdout) when a transformation
+ is run in a terminal. The message will be output before the beginning of the
+ output document. Messages will be shown in a dialog box if a transformation
+ is run in an applet.</p>
+
+ <p>
+<code><xsl:message></code> elements that use the <code>"terminate"</code>
+ attribute to abort transformations cause an exception to be thrown. A
+ RuntimeException is used for this, and the exception text is:</p>
+ <p>
+<code>Termination forced by an xsl:message instruction</code>
+</p>
+
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+</div>
+<div id="footer">Copyright © 1999-2014 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 - Thu 2014-05-15</div>
+</div>
+</body>
+</html>
Propchange: xalan/java/branches/WebSite/xalan-j/xsltc/xsl_comment_design.html
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org