This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jxpath.git
commit 4b70136f057e892ce51e37227f39f0a5647bd373 Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Sun Apr 13 15:35:44 2025 -0400 Fix and simplify links --- src/main/javadoc/overview.html | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/javadoc/overview.html b/src/main/javadoc/overview.html index 558eb2d..5ad1329 100644 --- a/src/main/javadoc/overview.html +++ b/src/main/javadoc/overview.html @@ -46,7 +46,7 @@ </p> <p> The central class in the JXPath architecture is - <a href="apidocs/org/apache/commons/jxpath/JXPathContext.html"><code>JXPathContext</code></a>. + <a href="org/apache/commons/jxpath/JXPathContext.html"><code>JXPathContext</code></a>. Most of the APIs discussed in this document have to do with the JXPathContext class. </p> @@ -483,7 +483,7 @@ String fName = (String)context.getValue("firstName"); known to JXPathContext. JXPathContext knows about namespace prefixes declared on the document element of the context node (the one passed to <code>JXPathContext.newContext(node)</code>), as well as the ones - explicitly registered using the <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/JXPathContext.html#registerNamespace(java.lang.String,java.lang.String)"> + explicitly registered using the <a href="org/apache/commons/jxpath/JXPathContext.html#registerNamespace(java.lang.String,java.lang.String)"> <code>JXPathContext.registerNamespace(prefix, namespaceURI)</code></a> method. </p> </section> @@ -503,7 +503,7 @@ String fName = (String)context.getValue("firstName"); </p> <p> An example of a useful container is - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/XMLDocumentContainer.html">XMLDocumentContainer</a>. + <a href="org/apache/commons/jxpath/XMLDocumentContainer.html">XMLDocumentContainer</a>. When you create an XMLDocumentContainer, you give it a pointer to an XML file (a <code>URL</code> or a <code>javax.xml.transform.Source</code>). It will read @@ -590,13 +590,13 @@ String fName = (String)context.getValue("firstName"); In order to evaluate the <code>id()</code> function, JXPath calls a delegate object that should be implemented and installed on the JXPathContext. The object should implement the - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/IdentityManager.html">IdentityManager</a> + <a href="org/apache/commons/jxpath/IdentityManager.html">IdentityManager</a> interface. </p> <p> Similarly, the <code>key()</code> function relies on a custom implementation of the - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/KeyManager.html">KeyManager</a> + <a href="org/apache/commons/jxpath/KeyManager.html">KeyManager</a> interface. </p> </section> @@ -814,7 +814,7 @@ String fName = (String)context.getValue("firstName"); <p> JXPath can be used to create new objects. First, create a subclass of - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/AbstractFactory.html"><code>AbstractFactory</code></a> + <a href="org/apache/commons/jxpath/AbstractFactory.html"><code>AbstractFactory</code></a> and install it on the JXPathContext. Then call <code>jxPathContext.createPath(xpath)</code>. JXPathContext will invoke your AbstractFactory when it @@ -959,7 +959,7 @@ String fName = (String)context.getValue("firstName"); </p> <p> See the - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/servlet/package-summary.html">org.apache.commons.jxpath.servlet</a> + <a href="org/apache/commons/jxpath/servlet/package-summary.html">org.apache.commons.jxpath.servlet</a> package for an example of just that. </p> </section> @@ -975,7 +975,7 @@ String fName = (String)context.getValue("firstName"); </p> <p> See static methods of the class - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/servlet/JXPathServletContexts.html"><code>JXPathServletContexts</code></a>. + <a href="org/apache/commons/jxpath/servlet/JXPathServletContexts.html"><code>JXPathServletContexts</code></a>. They allocate various servlet-related JXPathContexts. </p> @@ -1220,7 +1220,7 @@ Iterator homeAddresses = context.iteratePointers("//employee/address[@name='home <p> Collections of custom extension functions can be implemented as - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/Functions.html"><code>Functions</code></a> + <a href="org/apache/commons/jxpath/Functions.html"><code>Functions</code></a> objects or as Java classes, whose methods become extension functions. </p> @@ -1263,7 +1263,7 @@ Iterator homeAddresses = context.iteratePointers("//employee/address[@name='home </p> <p> Also, see - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/FunctionLibrary.html"><code>FunctionLibrary</code></a>, + <a href="org/apache/commons/jxpath/FunctionLibrary.html"><code>FunctionLibrary</code></a>, which is a class that allows you to register multiple sets of extension functions with the same JXPathContext. </p> @@ -1276,7 +1276,7 @@ Iterator homeAddresses = context.iteratePointers("//employee/address[@name='home A custom function can get access to the context in which it is being evaluated. ClassFunctions and PackageFunctions have special support for methods and constructors that have - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ExpressionContext.html"><code>ExpressionContext</code></a> + <a href="org/apache/commons/jxpath/ExpressionContext.html"><code>ExpressionContext</code></a> as the first argument. When such an extension function is invoked, it is passed an object that implements the ExpressionContext interface. The function can then gain @@ -1322,7 +1322,7 @@ public class MyExtensionFunctions { <h2>Collections as Arguments</h2> <p> There are two ways a collection can be passed to an extension function: - as a <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/NodeSet.html"><code>NodeSet</code></a> + as a <a href="org/apache/commons/jxpath/NodeSet.html"><code>NodeSet</code></a> or as a Collection proper. If the argument type is declared as NodeSet, JXPath will pass a NodeSet object, otherwise it will take values out of the node set and pass those to the function as a regular collection. @@ -1396,7 +1396,7 @@ TypeUtils.setTypeConverter(new JXPath11CompatibleTypeConverter()); <p> A custom function can return a collection of arbitrary objects or a NodeSet. The simple implementation of NodeSet, - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/BasicNodeSet.html#setLocale">BasicNodeSet</a>, + <a href="org/apache/commons/jxpath/BasicNodeSet.html#setLocale">BasicNodeSet</a>, may come in handy. </p> </section> @@ -1587,7 +1587,7 @@ TypeUtils.setTypeConverter(new JXPath11CompatibleTypeConverter()); The <code>"lang"</code> boolean function is supported for non-DOM objects as well. It tests the Locale set on the JXPathContext (or the default locale). See - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/JXPathContext.html#setLocale">JXPathContext.setLocale()</a>. + <a href="org/apache/commons/jxpath/JXPathContext.html#setLocale">JXPathContext.setLocale()</a>. </p> <p> You can also utilize the <code>xml:lang</code> attribute, @@ -1709,7 +1709,7 @@ TypeUtils.setTypeConverter(new JXPath11CompatibleTypeConverter()); JXPath uses JavaBeans introspection to discover properties of JavaBeans. You can provide alternative property lists by supplying custom JXPathBeanInfo classes (see - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/JXPathBeanInfo.html"><code>JXPathBeanInfo</code></a>). + <a href="org/apache/commons/jxpath/JXPathBeanInfo.html"><code>JXPathBeanInfo</code></a>). </p> </section> @@ -1732,9 +1732,9 @@ TypeUtils.setTypeConverter(new JXPath11CompatibleTypeConverter()); <p> Architecturally, multiple model support is made possible by the notions of a - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ri/model/NodePointer.html">NodePointer</a> + <a href="org/apache/commons/jxpath/ri/model/NodePointer.html">NodePointer</a> and - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ri/model/NodeIterator.html">NodeIterator</a>, + <a href="org/apache/commons/jxpath/ri/model/NodeIterator.html">NodeIterator</a>, which are simple abstract classes that are extended in different ways to traverse graphs of objects of different kinds. The NodePointer/NodeIterator APIs are designed with @@ -1752,9 +1752,9 @@ TypeUtils.setTypeConverter(new JXPath11CompatibleTypeConverter()); <p> To add support for a new object model, build custom implementations of NodePointer and NodeIterator as well as - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ri/model/NodePointerFactory.html">NodePointerFactory</a>. + <a href="org/apache/commons/jxpath/ri/model/NodePointerFactory.html">NodePointerFactory</a>. Then register the new factory with - <a href="https://commons.apache.org/proper/commons-jxpath/apidocs/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.html">JXPathContextReferenceImpl</a>. + <a href="org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.html">JXPathContextReferenceImpl</a>. </p> <p> See existing NodePointerFactories for examples of how