You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mu...@apache.org on 2025/06/27 17:26:24 UTC
(xalan-java) branch xalan-j_xslt3.0_mvn updated: committing implementation improvements for xpath 3.1 function fn:function-arity
This is an automated email from the ASF dual-hosted git repository.
mukulg pushed a commit to branch xalan-j_xslt3.0_mvn
in repository https://gitbox.apache.org/repos/asf/xalan-java.git
The following commit(s) were added to refs/heads/xalan-j_xslt3.0_mvn by this push:
new 9aeff7be2 committing implementation improvements for xpath 3.1 function fn:function-arity
9aeff7be2 is described below
commit 9aeff7be250375189769a05e62409d7b8e5dda66
Author: Mukul Gandhi <ga...@gmail.com>
AuthorDate: Fri Jun 27 22:55:55 2025 +0530
committing implementation improvements for xpath 3.1 function fn:function-arity
---
.../apache/xalan/templates/FuncFormatNumber.java | 2 +-
.../org/apache/xpath/compiler/XPathParser.java | 2 +-
.../org/apache/xpath/composite/XPathIfExpr.java | 38 ++++++++++----------
.../org/apache/xpath/composite/XPathLetExpr.java | 4 +--
.../java/org/apache/xpath/functions/FuncAbs.java | 2 +-
.../org/apache/xpath/functions/FuncBaseUri.java | 2 +-
.../org/apache/xpath/functions/FuncCeiling.java | 2 +-
.../java/org/apache/xpath/functions/FuncData.java | 2 +-
.../apache/xpath/functions/FuncDocumentUri.java | 2 +-
.../java/org/apache/xpath/functions/FuncFloor.java | 2 +-
.../apache/xpath/functions/FuncFunctionArity.java | 42 ++++++++--------------
.../org/apache/xpath/functions/FuncNumber.java | 2 +-
.../java/org/apache/xpath/functions/FuncRound.java | 2 +-
.../org/apache/xpath/functions/FuncString.java | 2 +-
.../java/org/apache/xpath/functions/Function.java | 34 ++++++------------
.../xpath/functions/XPathDynamicFunctionCall.java | 17 +++++----
.../XSL3ConstructorOrExtensionFunction.java | 12 -------
.../xpath/functions/XSL3FunctionService.java | 4 +--
.../apache/xpath/functions/math/FuncMathAcos.java | 2 +-
.../apache/xpath/functions/math/FuncMathAsin.java | 2 +-
.../apache/xpath/functions/math/FuncMathAtan.java | 2 +-
.../apache/xpath/functions/math/FuncMathAtan2.java | 2 +-
.../apache/xpath/functions/math/FuncMathCos.java | 2 +-
.../apache/xpath/functions/math/FuncMathExp.java | 2 +-
.../apache/xpath/functions/math/FuncMathExp10.java | 2 +-
.../apache/xpath/functions/math/FuncMathLog.java | 2 +-
.../apache/xpath/functions/math/FuncMathLog10.java | 2 +-
.../apache/xpath/functions/math/FuncMathPi.java | 2 +-
.../apache/xpath/functions/math/FuncMathPow.java | 2 +-
.../apache/xpath/functions/math/FuncMathSin.java | 2 +-
.../apache/xpath/functions/math/FuncMathSqrt.java | 2 +-
.../apache/xpath/functions/math/FuncMathTan.java | 2 +-
.../xpath/functions/string/FuncAnalyzeString.java | 7 ++++
.../functions/string/FuncCodePointsToString.java | 7 ++++
.../xpath/functions/string/FuncCodepointEqual.java | 7 ++++
.../apache/xpath/functions/string/FuncCompare.java | 7 ++++
.../apache/xpath/functions/string/FuncConcat.java | 13 ++++++-
.../xpath/functions/string/FuncContains.java | 7 ++++
.../xpath/functions/string/FuncContainsToken.java | 9 +++--
.../xpath/functions/string/FuncEndsWith.java | 7 ++++
.../xpath/functions/string/FuncLowerCase.java | 9 ++++-
.../apache/xpath/functions/string/FuncMatches.java | 9 ++++-
.../xpath/functions/string/FuncNormalizeSpace.java | 7 ++++
.../apache/xpath/functions/string/FuncReplace.java | 7 ++++
.../xpath/functions/string/FuncStartsWith.java | 7 ++++
.../xpath/functions/string/FuncStringJoin.java | 7 ++++
.../xpath/functions/string/FuncStringLength.java | 7 ++++
.../functions/string/FuncStringToCodepoints.java | 7 ++++
.../xpath/functions/string/FuncSubstring.java | 7 ++++
.../xpath/functions/string/FuncSubstringAfter.java | 7 ++++
.../functions/string/FuncSubstringBefore.java | 7 ++++
.../xpath/functions/string/FuncTokenize.java | 9 ++++-
.../xpath/functions/string/FuncTranslate.java | 7 ++++
.../xpath/functions/string/FuncUpperCase.java | 9 ++++-
.../w3c/xslt3/result/attr/_as-test-set_result.xml | 2 +-
.../w3c/xslt3/result/attr/_avt-test-set_result.xml | 2 +-
.../xslt3/result/attr/_match-test-set_result.xml | 2 +-
.../xslt3/result/attr/_select-test-set_result.xml | 2 +-
.../result/decl/_attribute-set-test-set_result.xml | 2 +-
.../result/decl/_character-map-test-set_result.xml | 2 +-
.../result/decl/_function-test-set_result.xml | 2 +-
.../result/decl/_variable-test-set_result.xml | 2 +-
.../xslt3/result/expr/_axes-test-set_result.xml | 2 +-
.../result/expr/_castable-test-set_result.xml | 2 +-
.../result/expr/_expression-test-set_result.xml | 2 +-
.../w3c/xslt3/result/expr/_for-test-set_result.xml | 2 +-
.../_higher-order-functions-test-set_result.xml | 2 +-
.../xslt3/result/expr/_math-test-set_result.xml | 2 +-
.../result/expr/_nodetest-test-set_result.xml | 2 +-
.../xslt3/result/expr/_path-test-set_result.xml | 2 +-
.../result/expr/_predicate-test-set_result.xml | 2 +-
.../result/fn/_deep-equal-test-set_result.xml | 2 +-
.../result/fn/_format-number-test-set_result.xml | 2 +-
.../w3c/xslt3/result/fn/_key-test-set_result.xml | 2 +-
.../xslt3/result/fn/_position-test-set_result.xml | 2 +-
.../w3c/xslt3/result/fn/_root-test-set_result.xml | 2 +-
.../insn/_analyze-string-test-set_result.xml | 2 +-
.../insn/_apply-templates-test-set_result.xml | 2 +-
.../result/insn/_attribute-test-set_result.xml | 2 +-
.../result/insn/_call-template-test-set_result.xml | 2 +-
.../xslt3/result/insn/_choose-test-set_result.xml | 2 +-
.../xslt3/result/insn/_copy-test-set_result.xml | 6 ++--
.../xslt3/result/insn/_element-test-set_result.xml | 2 +-
.../insn/_for-each-group-test-set_result.xml | 2 +-
.../xslt3/result/insn/_iterate-test-set_result.xml | 2 +-
.../result/insn/_sequence-test-set_result.xml | 2 +-
.../xslt3/result/insn/_sort-test-set_result.xml | 2 +-
.../w3c/xslt3/result/insn/_try-test-set_result.xml | 2 +-
.../result/insn/_xsl-document-test-set_result.xml | 2 +-
.../xslt3/result/misc/_regex-test-set_result.xml | 2 +-
.../xslt3/result/type/_boolean-test-set_result.xml | 2 +-
.../xslt3/result/type/_date-test-set_result.xml | 2 +-
.../xslt3/result/type/_node-test-set_result.xml | 2 +-
.../xslt3/result/type/_string-test-set_result.xml | 2 +-
.../result/w3c_xslt3_testsuite_xalan-j_result.xml | 2 +-
95 files changed, 291 insertions(+), 166 deletions(-)
diff --git a/src/main/java/org/apache/xalan/templates/FuncFormatNumber.java b/src/main/java/org/apache/xalan/templates/FuncFormatNumber.java
index 4eb569469..a1a555039 100644
--- a/src/main/java/org/apache/xalan/templates/FuncFormatNumber.java
+++ b/src/main/java/org/apache/xalan/templates/FuncFormatNumber.java
@@ -47,7 +47,7 @@ public class FuncFormatNumber extends Function3Args
* Class constructor.
*/
public FuncFormatNumber() {
- m_arityArr = new Short[] {2, 3};
+ m_defined_arity = new Short[] {2, 3};
}
/**
diff --git a/src/main/java/org/apache/xpath/compiler/XPathParser.java b/src/main/java/org/apache/xpath/compiler/XPathParser.java
index 4c25cddc9..3a88ad6ae 100644
--- a/src/main/java/org/apache/xpath/compiler/XPathParser.java
+++ b/src/main/java/org/apache/xpath/compiler/XPathParser.java
@@ -2596,7 +2596,7 @@ public class XPathParser
}
}
- ifExpr.setBranchConditionXPathStr(branchConditionXPathExprStr);
+ ifExpr.setIfConditionXPathStr(branchConditionXPathExprStr);
ifExpr.setThenExprXPathStr(thenXPathExprStr);
ifExpr.setElseExprXPathStr(elseXPathStr);
diff --git a/src/main/java/org/apache/xpath/composite/XPathIfExpr.java b/src/main/java/org/apache/xpath/composite/XPathIfExpr.java
index 347ac375e..cfb5ed62b 100644
--- a/src/main/java/org/apache/xpath/composite/XPathIfExpr.java
+++ b/src/main/java/org/apache/xpath/composite/XPathIfExpr.java
@@ -48,7 +48,7 @@ public class XPathIfExpr extends Expression {
private static final long serialVersionUID = 4057572946055830336L;
- private String m_branchConditionXPathStr;
+ private String m_ifConditionXPathStr;
private String m_thenExprXPathStr;
@@ -61,12 +61,12 @@ public class XPathIfExpr extends Expression {
private int m_globals_size;
- public String getBranchConditionXPathStr() {
- return m_branchConditionXPathStr;
+ public String getIfConditionXPathStr() {
+ return m_ifConditionXPathStr;
}
- public void setBranchConditionXPathStr(String branchConditionXPathStr) {
- this.m_branchConditionXPathStr = branchConditionXPathStr;
+ public void setIfConditionXPathStr(String ifConditionXPathStr) {
+ this.m_ifConditionXPathStr = ifConditionXPathStr;
}
public String getThenExprXPathStr() {
@@ -105,31 +105,31 @@ public class XPathIfExpr extends Expression {
}
if (prefixTable != null) {
- m_branchConditionXPathStr = XslTransformEvaluationHelper.replaceNsUrisWithPrefixesOnXPathStr(
- m_branchConditionXPathStr, prefixTable);
+ m_ifConditionXPathStr = XslTransformEvaluationHelper.replaceNsUrisWithPrefixesOnXPathStr(
+ m_ifConditionXPathStr, prefixTable);
}
- XPath branchConditionXPath = new XPath(m_branchConditionXPathStr, srcLocator, xctxt.getNamespaceContext(),
+ XPath ifConditionXPath = new XPath(m_ifConditionXPathStr, srcLocator, xctxt.getNamespaceContext(),
XPath.SELECT, null);
if (m_vars != null) {
- branchConditionXPath.fixupVariables(m_vars, m_globals_size);
+ ifConditionXPath.fixupVariables(m_vars, m_globals_size);
}
- XObject branchConditionXPathResult = branchConditionXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext());
+ XObject ifConditionXPathResult = ifConditionXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext());
- boolean branchConditionEvalResult = false;
- boolean eagerBranchConditionCheck = false;
- if ((branchConditionXPathResult instanceof XSString) || (branchConditionXPathResult instanceof XSAnyURI) ||
- (branchConditionXPathResult instanceof XSUntypedAtomic)) {
- eagerBranchConditionCheck = true;
- XSAnyType xsAnyType = (XSAnyType)branchConditionXPathResult;
+ boolean ifConditionEvalResult = false;
+ boolean eagerIfConditionCheck = false;
+ if ((ifConditionXPathResult instanceof XSString) || (ifConditionXPathResult instanceof XSAnyURI) ||
+ (ifConditionXPathResult instanceof XSUntypedAtomic)) {
+ eagerIfConditionCheck = true;
+ XSAnyType xsAnyType = (XSAnyType)ifConditionXPathResult;
String strVal = xsAnyType.stringValue();
if ((strVal != null) && (strVal.length() > 0)) {
- branchConditionEvalResult = true;
+ ifConditionEvalResult = true;
}
}
- if ((eagerBranchConditionCheck && branchConditionEvalResult) || (!eagerBranchConditionCheck && branchConditionXPathResult.bool())) {
+ if ((eagerIfConditionCheck && ifConditionEvalResult) || (!eagerIfConditionCheck && ifConditionXPathResult.bool())) {
if (prefixTable != null) {
m_thenExprXPathStr = XslTransformEvaluationHelper.replaceNsUrisWithPrefixesOnXPathStr(
m_thenExprXPathStr, prefixTable);
@@ -149,7 +149,7 @@ public class XPathIfExpr extends Expression {
evalResult = thenExprXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext());
}
}
- else if ((eagerBranchConditionCheck && !branchConditionEvalResult) || (!eagerBranchConditionCheck && !branchConditionXPathResult.bool())) {
+ else if ((eagerIfConditionCheck && !ifConditionEvalResult) || (!eagerIfConditionCheck && !ifConditionXPathResult.bool())) {
if (prefixTable != null) {
m_elseExprXPathStr = XslTransformEvaluationHelper.replaceNsUrisWithPrefixesOnXPathStr(m_elseExprXPathStr,
prefixTable);
diff --git a/src/main/java/org/apache/xpath/composite/XPathLetExpr.java b/src/main/java/org/apache/xpath/composite/XPathLetExpr.java
index 09d628bd0..f812e7c9a 100644
--- a/src/main/java/org/apache/xpath/composite/XPathLetExpr.java
+++ b/src/main/java/org/apache/xpath/composite/XPathLetExpr.java
@@ -153,7 +153,7 @@ public class XPathLetExpr extends Expression {
Function function = funcTable.getFunction(Integer.valueOf(funcIdStr));
function.setLocalName(funcLocalName);
function.setNamespace(funcNamespace);
- function.setArity(funcArity);
+ function.setDefinedArity(new Short[] { funcArity });
varBindingEvalResult = new XObject(function);
}
else if (xpathNamedFuncRef.getXslStylesheetFunction() != null) {
@@ -163,7 +163,7 @@ public class XPathLetExpr extends Expression {
}
else if (XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(funcNamespace)) {
XSL3ConstructorOrExtensionFunction funcObj = new XSL3ConstructorOrExtensionFunction(funcNamespace, funcLocalName, null);
- funcObj.setArity(funcArity);
+ funcObj.setDefinedArity(new Short[] { funcArity });
varBindingEvalResult = new XObject(funcObj);
}
else {
diff --git a/src/main/java/org/apache/xpath/functions/FuncAbs.java b/src/main/java/org/apache/xpath/functions/FuncAbs.java
index 008fb4790..04ce08736 100644
--- a/src/main/java/org/apache/xpath/functions/FuncAbs.java
+++ b/src/main/java/org/apache/xpath/functions/FuncAbs.java
@@ -37,7 +37,7 @@ public class FuncAbs extends FunctionDef1Arg
* Class constructor.
*/
public FuncAbs() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncBaseUri.java b/src/main/java/org/apache/xpath/functions/FuncBaseUri.java
index 65eed4188..853d5e47e 100644
--- a/src/main/java/org/apache/xpath/functions/FuncBaseUri.java
+++ b/src/main/java/org/apache/xpath/functions/FuncBaseUri.java
@@ -46,7 +46,7 @@ public class FuncBaseUri extends FunctionDef1Arg
* Class constructor.
*/
public FuncBaseUri() {
- m_arityArr = new Short[] {0, 1};
+ m_defined_arity = new Short[] {0, 1};
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncCeiling.java b/src/main/java/org/apache/xpath/functions/FuncCeiling.java
index 096c1ab0c..e54291d7c 100644
--- a/src/main/java/org/apache/xpath/functions/FuncCeiling.java
+++ b/src/main/java/org/apache/xpath/functions/FuncCeiling.java
@@ -37,7 +37,7 @@ public class FuncCeiling extends FunctionDef1Arg
* Class constructor.
*/
public FuncCeiling() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncData.java b/src/main/java/org/apache/xpath/functions/FuncData.java
index 2baac2f2b..396104f51 100644
--- a/src/main/java/org/apache/xpath/functions/FuncData.java
+++ b/src/main/java/org/apache/xpath/functions/FuncData.java
@@ -58,7 +58,7 @@ public class FuncData extends FunctionDef1Arg
* Class constructor.
*/
public FuncData() {
- m_arityArr = new Short[] {0, 1};
+ m_defined_arity = new Short[] {0, 1};
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncDocumentUri.java b/src/main/java/org/apache/xpath/functions/FuncDocumentUri.java
index 3707636a8..c8cd734a3 100644
--- a/src/main/java/org/apache/xpath/functions/FuncDocumentUri.java
+++ b/src/main/java/org/apache/xpath/functions/FuncDocumentUri.java
@@ -47,7 +47,7 @@ public class FuncDocumentUri extends FunctionDef1Arg
* Class constructor.
*/
public FuncDocumentUri() {
- m_arityArr = new Short[] {0, 1};
+ m_defined_arity = new Short[] {0, 1};
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncFloor.java b/src/main/java/org/apache/xpath/functions/FuncFloor.java
index 5348af599..bdd6ae7f2 100644
--- a/src/main/java/org/apache/xpath/functions/FuncFloor.java
+++ b/src/main/java/org/apache/xpath/functions/FuncFloor.java
@@ -37,7 +37,7 @@ public class FuncFloor extends FunctionDef1Arg
* Class constructor.
*/
public FuncFloor() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncFunctionArity.java b/src/main/java/org/apache/xpath/functions/FuncFunctionArity.java
index 54d4920f5..50ac61243 100644
--- a/src/main/java/org/apache/xpath/functions/FuncFunctionArity.java
+++ b/src/main/java/org/apache/xpath/functions/FuncFunctionArity.java
@@ -52,12 +52,14 @@ public class FuncFunctionArity extends FunctionDef1Arg
{
private static final long serialVersionUID = 8093916820370748865L;
+
+ final short FUNC_ARITY_NOT_KNOWN = -1;
/**
* Class constructor;
*/
public FuncFunctionArity() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
@@ -76,8 +78,6 @@ public class FuncFunctionArity extends FunctionDef1Arg
Expression arg0 = getArg0();
- short funcArity = FUNC_ARITY_NOT_KNOWN;
-
if (arg0 instanceof Variable) {
Variable var1 = (Variable)arg0;
org.apache.xpath.XPath xpathSelectExpr = (var1.getElemVariable()).getSelect();
@@ -93,7 +93,7 @@ public class FuncFunctionArity extends FunctionDef1Arg
ElemFunction elemFunction = XslTransformEvaluationHelper.getElemFunctionFromNodeTestExpression((NodeTest)selectExpr,
transformerImpl, srcLocator);
if (elemFunction != null) {
- funcArity = elemFunction.getArity();
+ short funcArity = elemFunction.getArity();
result = new XSInteger(String.valueOf(funcArity));
}
else {
@@ -119,7 +119,7 @@ public class FuncFunctionArity extends FunctionDef1Arg
ElemFunction elemFunction = XslTransformEvaluationHelper.getElemFunctionFromNodeTestExpression((NodeTest)arg0,
transformerImpl, srcLocator);
if (elemFunction != null) {
- funcArity = elemFunction.getArity();
+ short funcArity = elemFunction.getArity();
result = new XSInteger(String.valueOf(funcArity));
}
else {
@@ -189,33 +189,21 @@ public class FuncFunctionArity extends FunctionDef1Arg
* stylesheet or an XPath literal expression. This arity value is
* further verified below with an XPath function's actual arity value.
*/
- final Short funcArity = xpathNamedFunctionReference.getArity();
+ final Short runTimeArity = xpathNamedFunctionReference.getArity();
short funcActualArity = FUNC_ARITY_NOT_KNOWN;
- Short[] arityArr = function.getArityArray();
- if (arityArr != null) {
- List<Short> list1 = Arrays.asList(arityArr);
- if (list1.contains(funcArity)) {
- funcActualArity = funcArity;
- result = new XSInteger(String.valueOf(funcActualArity));
- }
- else {
- String funcNameRefStr = "{" + funcNamespace + "}" + funcName + "#" + funcArity;
- throw new TransformerException("XPST0017 : An XSL function definition for function reference " + funcNameRefStr
- + " not found.", srcLocator);
- }
+ Short[] funcDefinedArityArr = function.getDefinedArity();
+ List<Short> funcDefinedArityList = Arrays.asList(funcDefinedArityArr);
+ if (funcDefinedArityList.contains(runTimeArity)) {
+ funcActualArity = runTimeArity;
+ result = new XSInteger(String.valueOf(funcActualArity));
}
else {
- funcActualArity = function.getArity();
- if ((funcArity != FUNC_ARITY_NOT_KNOWN) && (funcActualArity == funcArity)) {
- result = new XSInteger(String.valueOf(funcActualArity));
- }
- else {
- String funcNameRefStr = "{" + funcNamespace + "}" + funcName + "#" + funcArity;
- throw new TransformerException("XPST0017 : An XSL function definition for function reference " + funcNameRefStr
- + " not found.", srcLocator);
- }
+ String funcNameRefStr = "{" + funcNamespace + "}" + funcName + "#" + runTimeArity;
+ throw new TransformerException("XPST0017 : An XSL function definition for function reference " + funcNameRefStr
+ + " not found.", srcLocator);
}
+
}
return result;
diff --git a/src/main/java/org/apache/xpath/functions/FuncNumber.java b/src/main/java/org/apache/xpath/functions/FuncNumber.java
index 5194964a0..31fb371c5 100644
--- a/src/main/java/org/apache/xpath/functions/FuncNumber.java
+++ b/src/main/java/org/apache/xpath/functions/FuncNumber.java
@@ -36,7 +36,7 @@ public class FuncNumber extends FunctionDef1Arg
* Class constructor.
*/
public FuncNumber() {
- m_arityArr = new Short[] {0, 1};
+ m_defined_arity = new Short[] {0, 1};
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncRound.java b/src/main/java/org/apache/xpath/functions/FuncRound.java
index c4da46f8b..ab2ce29da 100644
--- a/src/main/java/org/apache/xpath/functions/FuncRound.java
+++ b/src/main/java/org/apache/xpath/functions/FuncRound.java
@@ -49,7 +49,7 @@ public class FuncRound extends Function2Args
* Class constructor.
*/
public FuncRound() {
- m_arityArr = new Short[] {1, 2};
+ m_defined_arity = new Short[] {1, 2};
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/FuncString.java b/src/main/java/org/apache/xpath/functions/FuncString.java
index f866f896b..d982d580d 100644
--- a/src/main/java/org/apache/xpath/functions/FuncString.java
+++ b/src/main/java/org/apache/xpath/functions/FuncString.java
@@ -39,7 +39,7 @@ public class FuncString extends FunctionDef1Arg
* Class constructor.
*/
public FuncString() {
- m_arityArr = new Short[] {0, 1};
+ m_defined_arity = new Short[] {0, 1};
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/Function.java b/src/main/java/org/apache/xpath/functions/Function.java
index d0e46ab2a..a1cfa70e2 100644
--- a/src/main/java/org/apache/xpath/functions/Function.java
+++ b/src/main/java/org/apache/xpath/functions/Function.java
@@ -29,13 +29,14 @@ import org.apache.xpath.compiler.Compiler;
import org.apache.xpath.objects.XObject;
/**
- * This is a superclass of all XPath functions. This allows two
+ * This is a superclass of all XPath functions. This allows two
* ways for the class to be called. One method is that the
* super class processes the arguments and hands the results to
* the derived class, the other method is that the derived
* class may process it's own arguments, which is faster since
* the arguments don't have to be added to an array, but causes
* a larger code footprint.
+ *
* @xsl.usage advanced
*/
public abstract class Function extends Expression
@@ -47,19 +48,14 @@ public abstract class Function extends Expression
*/
protected Expression m_arg0;
- protected final short FUNC_ARITY_NOT_KNOWN = -1;
-
- /**
- * Number of arguments specified in the function
- * definition. Initialized to FUNC_ARITY_NOT_KNOWN.
- */
- protected short m_arity = FUNC_ARITY_NOT_KNOWN;
-
/**
* Class field to represent, an XPath built-in function's
- * arity for function's having more than one possible arity.
+ * arity which can have count 0 or greater. These are the
+ * function arity values defined by XPath 3.1 F&O spec, and
+ * are set to this variable by concrete function implementation
+ * subclasses of this class.
*/
- protected Short[] m_arityArr = null;
+ protected Short[] m_defined_arity = null;
private String m_localName = null;
@@ -173,21 +169,13 @@ public abstract class Function extends Expression
public void setArg0(Expression arg0) {
this.m_arg0 = arg0;
}
-
- public short getArity() {
- return m_arity;
- }
-
- public void setArity(short arity) {
- this.m_arity = arity;
- }
- public Short[] getArityArray() {
- return m_arityArr;
+ public Short[] getDefinedArity() {
+ return m_defined_arity;
}
- public void setArityArray(Short[] arityArr) {
- this.m_arityArr = arityArr;
+ public void setDefinedArity(Short[] definedArity) {
+ this.m_defined_arity = definedArity;
}
public String getLocalName() {
diff --git a/src/main/java/org/apache/xpath/functions/XPathDynamicFunctionCall.java b/src/main/java/org/apache/xpath/functions/XPathDynamicFunctionCall.java
index 420526160..c1beb2f57 100644
--- a/src/main/java/org/apache/xpath/functions/XPathDynamicFunctionCall.java
+++ b/src/main/java/org/apache/xpath/functions/XPathDynamicFunctionCall.java
@@ -16,6 +16,7 @@
*/
package org.apache.xpath.functions;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -403,11 +404,15 @@ public class XPathDynamicFunctionCall extends Expression {
String funcNamespace = function.getNamespace();
String funcLocalName = function.getLocalName();
- int funcArity = function.getArity();
- String expandedFuncName = "{" + funcNamespace + ":" + funcLocalName + "}#" + funcArity;
+ Short[] funcDefinedArity = function.getDefinedArity();
+ List<Short> arityList = Arrays.asList(funcDefinedArity);
- if (m_argList.size() == funcArity) {
+ final short runTimeArityValue = (short)(m_argList.size());
+
+ String expandedFuncName = "{" + funcNamespace + ":" + funcLocalName + "}#" + runTimeArityValue;
+
+ if (arityList.contains(runTimeArityValue)) {
try {
for (int idx = 0; idx < m_argList.size(); idx++) {
String argXPathStr = m_argList.get(idx);
@@ -433,9 +438,9 @@ public class XPathDynamicFunctionCall extends Expression {
}
else {
throw new javax.xml.transform.TransformerException("XPTY0004 : The number of arguments provided for "
- + "function call " + expandedFuncName + " is "
- + "incorrect. Required " + funcArity + ", supplied "
- + m_argList.size() + ".", srcLocator);
+ + "function call " + expandedFuncName + " is "
+ + "incorrect. Required " + runTimeArityValue + ", supplied "
+ + m_argList.size() + ".", srcLocator);
}
}
else if (obj1 instanceof ElemFunction) {
diff --git a/src/main/java/org/apache/xpath/functions/XSL3ConstructorOrExtensionFunction.java b/src/main/java/org/apache/xpath/functions/XSL3ConstructorOrExtensionFunction.java
index 143e26640..c193b7fc2 100644
--- a/src/main/java/org/apache/xpath/functions/XSL3ConstructorOrExtensionFunction.java
+++ b/src/main/java/org/apache/xpath/functions/XSL3ConstructorOrExtensionFunction.java
@@ -71,11 +71,6 @@ public class XSL3ConstructorOrExtensionFunction extends Function
* @serial
*/
Object m_methodKey;
-
- /**
- * Function's arity value.
- */
- private short m_arity;
/**
* Array of static expressions which represent the parameters to the
@@ -362,11 +357,4 @@ public class XSL3ConstructorOrExtensionFunction extends Function
return m_extensionName;
}
- public short getArity() {
- return m_arity;
- }
-
- public void setArity(short arity) {
- this.m_arity = arity;
- }
}
diff --git a/src/main/java/org/apache/xpath/functions/XSL3FunctionService.java b/src/main/java/org/apache/xpath/functions/XSL3FunctionService.java
index b55890b84..3267dec79 100644
--- a/src/main/java/org/apache/xpath/functions/XSL3FunctionService.java
+++ b/src/main/java/org/apache/xpath/functions/XSL3FunctionService.java
@@ -743,7 +743,7 @@ public class XSL3FunctionService {
Function function = funcTable.getFunction(Integer.valueOf(funcIdStr));
function.setLocalName(funcLocalName);
function.setNamespace(funcNamespace);
- function.setArity(funcArity);
+ function.setDefinedArity(new Short[] { funcArity });
for (int idx = 0; idx < argList.size(); idx++) {
String argXPathStr = argList.get(idx);
@@ -815,7 +815,7 @@ public class XSL3FunctionService {
// Evaluate an XPath schema type constructor function call reference
XSL3ConstructorOrExtensionFunction funcObj = new XSL3ConstructorOrExtensionFunction(funcNamespace, funcLocalName, null);
- funcObj.setArity(funcArity);
+ funcObj.setDefinedArity(new Short[] { funcArity });
for (int idx = 0; idx < argList.size(); idx++) {
String argXPathStr = argList.get(idx);
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathAcos.java b/src/main/java/org/apache/xpath/functions/math/FuncMathAcos.java
index f52338210..6783b19af 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathAcos.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathAcos.java
@@ -47,7 +47,7 @@ public class FuncMathAcos extends FunctionOneArg
* Class constructor.
*/
public FuncMathAcos() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathAsin.java b/src/main/java/org/apache/xpath/functions/math/FuncMathAsin.java
index de3f0e222..1f8b23a22 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathAsin.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathAsin.java
@@ -47,7 +47,7 @@ public class FuncMathAsin extends FunctionOneArg
* Class constructor.
*/
public FuncMathAsin() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathAtan.java b/src/main/java/org/apache/xpath/functions/math/FuncMathAtan.java
index 530793957..65920a5e7 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathAtan.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathAtan.java
@@ -47,7 +47,7 @@ public class FuncMathAtan extends FunctionOneArg
* Class constructor.
*/
public FuncMathAtan() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathAtan2.java b/src/main/java/org/apache/xpath/functions/math/FuncMathAtan2.java
index 6dbbab9ff..4273a1068 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathAtan2.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathAtan2.java
@@ -44,7 +44,7 @@ public class FuncMathAtan2 extends Function2Args {
* Class constructor.
*/
public FuncMathAtan2() {
- m_arity = 2;
+ m_defined_arity = new Short[] { 2 };
}
public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathCos.java b/src/main/java/org/apache/xpath/functions/math/FuncMathCos.java
index 706e1c713..d88f061ef 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathCos.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathCos.java
@@ -47,7 +47,7 @@ public class FuncMathCos extends FunctionOneArg
* Class constructor.
*/
public FuncMathCos() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathExp.java b/src/main/java/org/apache/xpath/functions/math/FuncMathExp.java
index 15c85a553..0d61b5f24 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathExp.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathExp.java
@@ -47,7 +47,7 @@ public class FuncMathExp extends FunctionOneArg
* Class constructor.
*/
public FuncMathExp() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathExp10.java b/src/main/java/org/apache/xpath/functions/math/FuncMathExp10.java
index 0d4a87964..783bb942b 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathExp10.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathExp10.java
@@ -47,7 +47,7 @@ public class FuncMathExp10 extends FunctionOneArg
* Class constructor.
*/
public FuncMathExp10() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathLog.java b/src/main/java/org/apache/xpath/functions/math/FuncMathLog.java
index 925607c7f..8b3a79613 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathLog.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathLog.java
@@ -47,7 +47,7 @@ public class FuncMathLog extends FunctionOneArg
* Class constructor.
*/
public FuncMathLog() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathLog10.java b/src/main/java/org/apache/xpath/functions/math/FuncMathLog10.java
index 31fa501b3..c7b020437 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathLog10.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathLog10.java
@@ -47,7 +47,7 @@ public class FuncMathLog10 extends FunctionOneArg
* Class constructor.
*/
public FuncMathLog10() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathPi.java b/src/main/java/org/apache/xpath/functions/math/FuncMathPi.java
index 3b7f234da..d227329db 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathPi.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathPi.java
@@ -41,7 +41,7 @@ public class FuncMathPi extends Function
* Class constructor.
*/
public FuncMathPi() {
- m_arity = 0;
+ m_defined_arity = new Short[] { 0 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathPow.java b/src/main/java/org/apache/xpath/functions/math/FuncMathPow.java
index 45df53659..798242722 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathPow.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathPow.java
@@ -44,7 +44,7 @@ public class FuncMathPow extends Function2Args {
* Class constructor.
*/
public FuncMathPow() {
- m_arity = 2;
+ m_defined_arity = new Short[] { 2 };
}
public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathSin.java b/src/main/java/org/apache/xpath/functions/math/FuncMathSin.java
index a5045a528..b04ff2e59 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathSin.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathSin.java
@@ -47,7 +47,7 @@ public class FuncMathSin extends FunctionOneArg
* Class constructor.
*/
public FuncMathSin() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathSqrt.java b/src/main/java/org/apache/xpath/functions/math/FuncMathSqrt.java
index ed1a8d90e..86f716fa3 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathSqrt.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathSqrt.java
@@ -47,7 +47,7 @@ public class FuncMathSqrt extends FunctionOneArg
* Class constructor.
*/
public FuncMathSqrt() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/math/FuncMathTan.java b/src/main/java/org/apache/xpath/functions/math/FuncMathTan.java
index 38782c78e..91620ae82 100644
--- a/src/main/java/org/apache/xpath/functions/math/FuncMathTan.java
+++ b/src/main/java/org/apache/xpath/functions/math/FuncMathTan.java
@@ -47,7 +47,7 @@ public class FuncMathTan extends FunctionOneArg
* Class constructor.
*/
public FuncMathTan() {
- m_arity = 1;
+ m_defined_arity = new Short[] { 1 };
}
/**
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncAnalyzeString.java b/src/main/java/org/apache/xpath/functions/string/FuncAnalyzeString.java
index a7b14eea9..cab9fa76f 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncAnalyzeString.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncAnalyzeString.java
@@ -54,6 +54,13 @@ public class FuncAnalyzeString extends FunctionMultiArgs {
private static final long serialVersionUID = -1559008263985308212L;
+ /**
+ * Class constructor.
+ */
+ public FuncAnalyzeString() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
+
/**
* The number of arguments passed to the fn:analyze-string function
* call.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncCodePointsToString.java b/src/main/java/org/apache/xpath/functions/string/FuncCodePointsToString.java
index 7ed7d70ae..b40da61f4 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncCodePointsToString.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncCodePointsToString.java
@@ -42,6 +42,13 @@ import xml.xpath31.processor.types.XSNumericType;
public class FuncCodePointsToString extends FunctionOneArg {
private static final long serialVersionUID = -4531182517520672452L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncCodePointsToString() {
+ m_defined_arity = new Short[] { 1 };
+ }
public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
{
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncCodepointEqual.java b/src/main/java/org/apache/xpath/functions/string/FuncCodepointEqual.java
index 40b3f05d5..a84fa1251 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncCodepointEqual.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncCodepointEqual.java
@@ -39,6 +39,13 @@ public class FuncCodepointEqual extends Function2Args {
private static final long serialVersionUID = -2518383964235644671L;
+ /**
+ * Class constructor.
+ */
+ public FuncCodepointEqual() {
+ m_defined_arity = new Short[] { 2 };
+ }
+
/**
* Execute the function. The function must return a valid object.
*
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncCompare.java b/src/main/java/org/apache/xpath/functions/string/FuncCompare.java
index 68683feb7..2a6f20531 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncCompare.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncCompare.java
@@ -43,6 +43,13 @@ public class FuncCompare extends FunctionMultiArgs {
private static final long serialVersionUID = 4648998919300586767L;
+ /**
+ * Class constructor.
+ */
+ public FuncCompare() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
+
/**
* The number of arguments passed to the fn:compare function
* call.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncConcat.java b/src/main/java/org/apache/xpath/functions/string/FuncConcat.java
index 1615d7d79..a1ec04f96 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncConcat.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncConcat.java
@@ -38,13 +38,24 @@ import xml.xpath31.processor.types.XSUntyped;
import xml.xpath31.processor.types.XSUntypedAtomic;
/**
- * Execute the concat() function.
+ * Implementation of XPath 3.1 function fn:concat.
*
* @xsl.usage advanced
*/
public class FuncConcat extends FunctionMultiArgs
{
static final long serialVersionUID = 1737228885202314413L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncConcat() {
+ short maxArgSupported = (Short.MAX_VALUE - 1);
+ m_defined_arity = new Short[maxArgSupported];
+ for (short idx = 2; idx <= maxArgSupported; idx++) {
+ m_defined_arity[idx - 2] = idx;
+ }
+ }
/**
* Execute the function. The function must return
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncContains.java b/src/main/java/org/apache/xpath/functions/string/FuncContains.java
index a5aef1b7a..64230f847 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncContains.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncContains.java
@@ -37,6 +37,13 @@ public class FuncContains extends XSL3StringCollationAwareFunction
static final long serialVersionUID = 5084753781887919723L;
+ /**
+ * Class constructor.
+ */
+ public FuncContains() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
+
/**
* The number of arguments passed to the fn:contains function
* call.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncContainsToken.java b/src/main/java/org/apache/xpath/functions/string/FuncContainsToken.java
index 4200d131d..1bd53dba7 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncContainsToken.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncContainsToken.java
@@ -42,8 +42,6 @@ import xml.xpath31.processor.types.XSBoolean;
/**
* Implementation of an XPath 3.1 function contains-token().
*
- * Ref : https://www.w3.org/TR/xpath-functions-31/#func-contains-token
- *
* @author Mukul Gandhi <mu...@apache.org>
*
* @xsl.usage advanced
@@ -51,6 +49,13 @@ import xml.xpath31.processor.types.XSBoolean;
public class FuncContainsToken extends FunctionMultiArgs {
private static final long serialVersionUID = -7113398825278491809L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncContainsToken() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncEndsWith.java b/src/main/java/org/apache/xpath/functions/string/FuncEndsWith.java
index 2ada20619..8eb9f05d0 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncEndsWith.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncEndsWith.java
@@ -38,6 +38,13 @@ public class FuncEndsWith extends XSL3StringCollationAwareFunction
static final long serialVersionUID = -4632201923330818748L;
+ /**
+ * Class constructor.
+ */
+ public FuncEndsWith() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
+
/**
* The number of arguments passed to the fn:ends-with function
* call.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncLowerCase.java b/src/main/java/org/apache/xpath/functions/string/FuncLowerCase.java
index 8d2cc1d5b..00cf7ce41 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncLowerCase.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncLowerCase.java
@@ -36,8 +36,15 @@ public class FuncLowerCase extends FunctionDef1Arg
{
private static final long serialVersionUID = 1547894171087866269L;
-
+
/**
+ * Class constructor.
+ */
+ public FuncLowerCase() {
+ m_defined_arity = new Short[] { 1 };
+ }
+
+ /**
* Execute the function. The function must return a valid object.
*
* @param xctxt The current execution context.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncMatches.java b/src/main/java/org/apache/xpath/functions/string/FuncMatches.java
index f827aa31a..771fb3b42 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncMatches.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncMatches.java
@@ -46,7 +46,14 @@ public class FuncMatches extends Function3Args {
static final long serialVersionUID = 400116356230813776L;
- private static final String FUNCTION_NAME = "matches()";
+ private static final String FUNCTION_NAME = "matches()";
+
+ /**
+ * Class constructor.
+ */
+ public FuncMatches() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncNormalizeSpace.java b/src/main/java/org/apache/xpath/functions/string/FuncNormalizeSpace.java
index 334b9d5c1..9edeb4289 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncNormalizeSpace.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncNormalizeSpace.java
@@ -37,6 +37,13 @@ import xml.xpath31.processor.types.XSString;
public class FuncNormalizeSpace extends FunctionDef1Arg
{
static final long serialVersionUID = -3377956872032190880L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncNormalizeSpace() {
+ m_defined_arity = new Short[] { 0, 1 };
+ }
/**
* Implementation of the function. The function must return
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncReplace.java b/src/main/java/org/apache/xpath/functions/string/FuncReplace.java
index b207dc979..d94663c5e 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncReplace.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncReplace.java
@@ -48,6 +48,13 @@ public class FuncReplace extends Function4Args {
static final long serialVersionUID = 400116356230813776L;
private static final String FUNCTION_NAME = "replace()";
+
+ /**
+ * Class constructor.
+ */
+ public FuncReplace() {
+ m_defined_arity = new Short[] { 3, 4 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncStartsWith.java b/src/main/java/org/apache/xpath/functions/string/FuncStartsWith.java
index f1972ee8c..8672a48dd 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncStartsWith.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncStartsWith.java
@@ -36,6 +36,13 @@ public class FuncStartsWith extends XSL3StringCollationAwareFunction
static final long serialVersionUID = 2194585774699567928L;
+ /**
+ * Class constructor.
+ */
+ public FuncStartsWith() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
+
/**
* The number of arguments passed to the fn:starts-with function
* call.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncStringJoin.java b/src/main/java/org/apache/xpath/functions/string/FuncStringJoin.java
index 436b25d8e..bb7304da6 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncStringJoin.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncStringJoin.java
@@ -55,6 +55,13 @@ import xml.xpath31.processor.types.XSUntypedAtomic;
public class FuncStringJoin extends Function2Args {
private static final long serialVersionUID = 4171534319684252331L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncStringJoin() {
+ m_defined_arity = new Short[] { 1, 2 };
+ }
/**
* Implementation of the function.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncStringLength.java b/src/main/java/org/apache/xpath/functions/string/FuncStringLength.java
index ff15b335b..d8e69ec7a 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncStringLength.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncStringLength.java
@@ -33,6 +33,13 @@ import org.apache.xpath.objects.XObject;
public class FuncStringLength extends FunctionDef1Arg
{
static final long serialVersionUID = -159616417996519839L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncStringLength() {
+ m_defined_arity = new Short[] { 0, 1 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncStringToCodepoints.java b/src/main/java/org/apache/xpath/functions/string/FuncStringToCodepoints.java
index fb1ba612a..399cfdf09 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncStringToCodepoints.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncStringToCodepoints.java
@@ -41,6 +41,13 @@ public class FuncStringToCodepoints extends FunctionDef1Arg
{
private static final long serialVersionUID = -2509583274718320399L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncStringToCodepoints() {
+ m_defined_arity = new Short[] { 1 };
+ }
/**
* Execute the function. The function must return
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncSubstring.java b/src/main/java/org/apache/xpath/functions/string/FuncSubstring.java
index 57d851c8e..9a829f2ed 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncSubstring.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncSubstring.java
@@ -42,6 +42,13 @@ import xml.xpath31.processor.types.XSString;
public class FuncSubstring extends Function3Args
{
static final long serialVersionUID = -5996676095024715502L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncSubstring() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncSubstringAfter.java b/src/main/java/org/apache/xpath/functions/string/FuncSubstringAfter.java
index afc3195b9..a2b7abddf 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncSubstringAfter.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncSubstringAfter.java
@@ -36,6 +36,13 @@ public class FuncSubstringAfter extends XSL3StringCollationAwareFunction
{
static final long serialVersionUID = -8119731889862512194L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncSubstringAfter() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
/**
* The number of arguments passed to the fn:substring-after function
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncSubstringBefore.java b/src/main/java/org/apache/xpath/functions/string/FuncSubstringBefore.java
index 10b06564d..efe96eaf1 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncSubstringBefore.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncSubstringBefore.java
@@ -37,6 +37,13 @@ public class FuncSubstringBefore extends XSL3StringCollationAwareFunction
static final long serialVersionUID = 4110547161672431775L;
+ /**
+ * Class constructor.
+ */
+ public FuncSubstringBefore() {
+ m_defined_arity = new Short[] { 2, 3 };
+ }
+
/**
* The number of arguments passed to the fn:substring-before function
* call.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncTokenize.java b/src/main/java/org/apache/xpath/functions/string/FuncTokenize.java
index 677404314..d3233519a 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncTokenize.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncTokenize.java
@@ -49,7 +49,14 @@ public class FuncTokenize extends Function3Args {
private static final long serialVersionUID = -7790625909187393478L;
- private static final String FUNCTION_NAME = "tokenize()";
+ private static final String FUNCTION_NAME = "tokenize()";
+
+ /**
+ * Class constructor.
+ */
+ public FuncTokenize() {
+ m_defined_arity = new Short[] { 1, 2, 3 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncTranslate.java b/src/main/java/org/apache/xpath/functions/string/FuncTranslate.java
index c98c3a3f2..802ef0ed8 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncTranslate.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncTranslate.java
@@ -36,6 +36,13 @@ public class FuncTranslate extends Function3Args
{
static final long serialVersionUID = -1672834340026116482L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncTranslate() {
+ m_defined_arity = new Short[] { 3 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/main/java/org/apache/xpath/functions/string/FuncUpperCase.java b/src/main/java/org/apache/xpath/functions/string/FuncUpperCase.java
index 6f500d7f4..58cd73e90 100644
--- a/src/main/java/org/apache/xpath/functions/string/FuncUpperCase.java
+++ b/src/main/java/org/apache/xpath/functions/string/FuncUpperCase.java
@@ -35,7 +35,14 @@ import org.apache.xpath.objects.XString;
public class FuncUpperCase extends FunctionDef1Arg
{
- private static final long serialVersionUID = 2596924943524147578L;
+ private static final long serialVersionUID = 2596924943524147578L;
+
+ /**
+ * Class constructor.
+ */
+ public FuncUpperCase() {
+ m_defined_arity = new Short[] { 1 };
+ }
/**
* Execute the function. The function must return a valid object.
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_as-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_as-test-set_result.xml
index 1e39de6f7..6d587b063 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_as-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_as-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:47Z" fail="53" name="as" pass="51" skipped="4" statusUnknown="1" totalRun="109">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:11Z" fail="53" name="as" pass="51" skipped="4" statusUnknown="1" totalRun="109">
<testResult status="pass" testName="as-0101"/>
<testResult status="pass" testName="as-0102"/>
<testResult status="pass" testName="as-0103"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_avt-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_avt-test-set_result.xml
index d7dc6609e..11418e4f9 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_avt-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_avt-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:48Z" fail="14" name="avt" pass="21" skipped="0" statusUnknown="0" totalRun="35">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:13Z" fail="14" name="avt" pass="21" skipped="0" statusUnknown="0" totalRun="35">
<testResult status="pass" testName="avt-0101"/>
<testResult status="fail" testName="avt-0201"/>
<testResult status="pass" testName="avt-0202"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_match-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_match-test-set_result.xml
index 13f1f680e..8bd6d9387 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_match-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_match-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:49Z" fail="65" name="match" pass="59" skipped="8" statusUnknown="5" totalRun="137">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:13Z" fail="65" name="match" pass="59" skipped="8" statusUnknown="5" totalRun="137">
<testResult status="pass" testName="match-001"/>
<testResult status="pass" testName="match-002"/>
<testResult status="pass" testName="match-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_select-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_select-test-set_result.xml
index 53d83b8bd..97a389328 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_select-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/attr/_select-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:49Z" fail="7" name="select" pass="16" skipped="0" statusUnknown="2" totalRun="25">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:14Z" fail="7" name="select" pass="16" skipped="0" statusUnknown="2" totalRun="25">
<testResult status="pass" testName="select-0101"/>
<testResult status="pass" testName="select-0102"/>
<testResult status="fail" testName="select-0201"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_attribute-set-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_attribute-set-test-set_result.xml
index 43e03faf6..3162e2b59 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_attribute-set-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_attribute-set-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:55Z" fail="7" name="attribute-set" pass="41" skipped="1" statusUnknown="1" totalRun="50">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:24Z" fail="7" name="attribute-set" pass="41" skipped="1" statusUnknown="1" totalRun="50">
<testResult status="pass" testName="attribute-set-0101"/>
<testResult status="fail" testName="attribute-set-0102">
<outResult/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_character-map-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_character-map-test-set_result.xml
index bd859b96b..b724aff11 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_character-map-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_character-map-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:55Z" fail="12" name="character-map" pass="15" skipped="0" statusUnknown="2" totalRun="29">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:24Z" fail="12" name="character-map" pass="15" skipped="0" statusUnknown="2" totalRun="29">
<testResult status="pass" testName="character-map-001"/>
<testResult status="pass" testName="character-map-002"/>
<testResult status="pass" testName="character-map-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_function-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_function-test-set_result.xml
index b888d3cfe..cb250ca98 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_function-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_function-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:55Z" fail="38" name="function" pass="23" skipped="4" statusUnknown="5" totalRun="70">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:24Z" fail="38" name="function" pass="23" skipped="4" statusUnknown="5" totalRun="70">
<testResult status="fail" testName="function-0001">
<outResult/>
</testResult>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_variable-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_variable-test-set_result.xml
index 247227f8e..8645abc4e 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_variable-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/decl/_variable-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:47Z" fail="3" name="variable" pass="16" skipped="0" statusUnknown="1" totalRun="20">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:10Z" fail="3" name="variable" pass="16" skipped="0" statusUnknown="1" totalRun="20">
<testResult status="pass" testName="variable-0101"/>
<testResult status="pass" testName="variable-0102"/>
<testResult status="pass" testName="variable-0103"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_axes-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_axes-test-set_result.xml
index 4a9b1a6c1..85c4ed9b7 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_axes-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_axes-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:55Z" fail="28" name="axes" pass="173" skipped="0" statusUnknown="0" totalRun="201">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:24Z" fail="28" name="axes" pass="173" skipped="0" statusUnknown="0" totalRun="201">
<testResult status="pass" testName="axes-001"/>
<testResult status="pass" testName="axes-002"/>
<testResult status="pass" testName="axes-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_castable-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_castable-test-set_result.xml
index 97e11a1be..3177f246b 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_castable-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_castable-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:56Z" fail="5" name="castable" pass="4" skipped="0" statusUnknown="0" totalRun="9">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:25Z" fail="5" name="castable" pass="4" skipped="0" statusUnknown="0" totalRun="9">
<testResult status="pass" testName="castable-001"/>
<testResult status="pass" testName="castable-002"/>
<testResult status="pass" testName="castable-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_expression-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_expression-test-set_result.xml
index b7b2365bd..d3ccad13d 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_expression-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_expression-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:56Z" fail="0" name="expression" pass="9" skipped="0" statusUnknown="1" totalRun="10">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:25Z" fail="0" name="expression" pass="9" skipped="0" statusUnknown="1" totalRun="10">
<testResult status="pass" testName="expression-0101"/>
<testResult status="pass" testName="expression-0301"/>
<testResult status="pass" testName="expression-0302"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_for-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_for-test-set_result.xml
index 7c4aa8d8d..62f139e73 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_for-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_for-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:56Z" fail="2" name="for" pass="1" skipped="0" statusUnknown="1" totalRun="4">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:26Z" fail="2" name="for" pass="1" skipped="0" statusUnknown="1" totalRun="4">
<testResult status="fail" testName="for-001"/>
<testResult status="fail" testName="for-002"/>
<testResult status="pass" testName="for-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_higher-order-functions-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_higher-order-functions-test-set_result.xml
index cc52f74ab..1576957cc 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_higher-order-functions-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_higher-order-functions-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:59Z" fail="6" name="higher-order-functions" pass="18" skipped="0" statusUnknown="1" totalRun="25">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:29Z" fail="6" name="higher-order-functions" pass="18" skipped="0" statusUnknown="1" totalRun="25">
<testResult status="pass" testName="higher-order-functions-001"/>
<testResult status="pass" testName="higher-order-functions-002"/>
<testResult status="pass" testName="higher-order-functions-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_math-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_math-test-set_result.xml
index 165df06ec..b36a19818 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_math-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_math-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:58Z" fail="39" name="math" pass="108" skipped="0" statusUnknown="1" totalRun="148">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:28Z" fail="39" name="math" pass="108" skipped="0" statusUnknown="1" totalRun="148">
<testResult status="pass" testName="math-0101"/>
<testResult status="fail" testName="math-0102">
<outResult/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_nodetest-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_nodetest-test-set_result.xml
index f55e645f3..d319b75e8 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_nodetest-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_nodetest-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:59Z" fail="36" name="nodetest" pass="2" skipped="0" statusUnknown="0" totalRun="38">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:29Z" fail="36" name="nodetest" pass="2" skipped="0" statusUnknown="0" totalRun="38">
<testResult status="pass" testName="nodetest-001"/>
<testResult status="pass" testName="nodetest-002"/>
<testResult status="fail" testName="nodetest-003">
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_path-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_path-test-set_result.xml
index ea887d67c..1c5b4a66f 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_path-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_path-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:59Z" fail="3" name="path" pass="7" skipped="0" statusUnknown="0" totalRun="10">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:29Z" fail="3" name="path" pass="7" skipped="0" statusUnknown="0" totalRun="10">
<testResult status="pass" testName="path-001"/>
<testResult status="pass" testName="path-002"/>
<testResult status="pass" testName="path-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_predicate-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_predicate-test-set_result.xml
index b192378dc..d086317f4 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_predicate-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/expr/_predicate-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:59Z" fail="7" name="predicate" pass="50" skipped="0" statusUnknown="0" totalRun="57">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:30Z" fail="7" name="predicate" pass="50" skipped="0" statusUnknown="0" totalRun="57">
<testResult status="fail" testName="predicate-001"/>
<testResult status="fail" testName="predicate-002"/>
<testResult status="fail" testName="predicate-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_deep-equal-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_deep-equal-test-set_result.xml
index b87aed622..049117b1e 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_deep-equal-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_deep-equal-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:35Z" fail="0" name="deep-equal" pass="2" skipped="0" statusUnknown="0" totalRun="2">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:03Z" fail="0" name="deep-equal" pass="2" skipped="0" statusUnknown="0" totalRun="2">
<testResult status="pass" testName="deep-equal-001"/>
<testResult status="pass" testName="deep-equal-002"/>
</testrun>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_format-number-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_format-number-test-set_result.xml
index a59bb7d57..4aca45ed5 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_format-number-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_format-number-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:36Z" fail="33" name="format-number" pass="37" skipped="4" statusUnknown="0" totalRun="74">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:05Z" fail="33" name="format-number" pass="37" skipped="4" statusUnknown="0" totalRun="74">
<testResult status="fail" testName="format-number-001"/>
<testResult status="fail" testName="format-number-002"/>
<testResult status="fail" testName="format-number-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_key-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_key-test-set_result.xml
index 6f480ca38..2d6f02529 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_key-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_key-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:36Z" fail="3" name="key" pass="21" skipped="0" statusUnknown="1" totalRun="25">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:04Z" fail="3" name="key" pass="21" skipped="0" statusUnknown="1" totalRun="25">
<testResult status="pass" testName="key-001"/>
<testResult status="fail" testName="key-002"/>
<testResult status="pass" testName="key-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_position-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_position-test-set_result.xml
index 9bca64975..141bbaa90 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_position-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_position-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:35Z" fail="11" name="position" pass="126" skipped="0" statusUnknown="1" totalRun="138">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:03Z" fail="11" name="position" pass="126" skipped="0" statusUnknown="1" totalRun="138">
<testResult status="pass" testName="position-0101"/>
<testResult status="fail" testName="position-0102"/>
<testResult status="fail" testName="position-0103">
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_root-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_root-test-set_result.xml
index c1b5e0863..469374b44 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_root-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/fn/_root-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:36Z" fail="4" name="root" pass="6" skipped="0" statusUnknown="0" totalRun="10">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:04Z" fail="4" name="root" pass="6" skipped="0" statusUnknown="0" totalRun="10">
<testResult status="fail" testName="root-0101"/>
<testResult status="fail" testName="root-0102"/>
<testResult status="pass" testName="root-0103"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_analyze-string-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_analyze-string-test-set_result.xml
index d99a029e6..ee012c7c7 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_analyze-string-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_analyze-string-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:35Z" fail="17" name="analyze-string" pass="36" skipped="5" statusUnknown="0" totalRun="58">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:04Z" fail="17" name="analyze-string" pass="36" skipped="5" statusUnknown="0" totalRun="58">
<testResult status="pass" testName="analyze-string-001"/>
<testResult status="pass" testName="analyze-string-002"/>
<testResult status="pass" testName="analyze-string-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_apply-templates-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_apply-templates-test-set_result.xml
index c6bef99af..c0f8bfdb7 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_apply-templates-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_apply-templates-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:49Z" fail="29" name="apply-templates" pass="19" skipped="2" statusUnknown="0" totalRun="50">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:14Z" fail="29" name="apply-templates" pass="19" skipped="2" statusUnknown="0" totalRun="50">
<testResult status="fail" testName="apply-templates-001">
<outResult><?xml version="1.0" encoding="UTF-8"?>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_attribute-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_attribute-test-set_result.xml
index 4a24fa723..1a372441a 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_attribute-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_attribute-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:50Z" fail="21" name="attribute" pass="8" skipped="0" statusUnknown="1" totalRun="30">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:16Z" fail="21" name="attribute" pass="8" skipped="0" statusUnknown="1" totalRun="30">
<testResult status="fail" testName="attribute-0001"/>
<testResult status="fail" testName="attribute-0002">
<outResult/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_call-template-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_call-template-test-set_result.xml
index 5522ca79a..f7f1630a2 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_call-template-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_call-template-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:50Z" fail="14" name="call-template" pass="27" skipped="1" statusUnknown="0" totalRun="42">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:16Z" fail="14" name="call-template" pass="27" skipped="1" statusUnknown="0" totalRun="42">
<testResult status="fail" testName="call-template-0001">
<outResult><?xml version="1.0" encoding="UTF-8"?><out/></outResult>
</testResult>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_choose-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_choose-test-set_result.xml
index 8461e2aef..9f8a8d87b 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_choose-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_choose-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:51Z" fail="6" name="choose" pass="17" skipped="0" statusUnknown="1" totalRun="24">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:16Z" fail="6" name="choose" pass="17" skipped="0" statusUnknown="1" totalRun="24">
<testResult status="pass" testName="choose-0101"/>
<testResult status="pass" testName="choose-0102"/>
<testResult status="fail" testName="choose-0103"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_copy-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_copy-test-set_result.xml
index 4c6fb748f..45cbcac2e 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_copy-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_copy-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:52Z" fail="43" name="copy" pass="16" skipped="0" statusUnknown="1" totalRun="60">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:18Z" fail="43" name="copy" pass="16" skipped="0" statusUnknown="1" totalRun="60">
<testResult status="fail" testName="copy-0101"/>
<testResult status="pass" testName="copy-0102"/>
<testResult status="fail" testName="copy-0103"/>
@@ -263,7 +263,7 @@
<outResult>
<errTrace>XTSE0010 : an instruction xsl:where-populated is not known to the XSLT processor.</errTrace>
<errTrace>ERROR! Unknown op code: 0</errTrace>
- <errTrace>java.lang.ArrayIndexOutOfBoundsException</errTrace>
+ <errTrace>java.lang.ArrayIndexOutOfBoundsException: -1</errTrace>
</outResult>
</testResult>
<testResult status="fail" testName="copy-1214">
@@ -275,7 +275,7 @@
<outResult>
<errTrace>XTTE0570 : The xs:string value 'Boo!' cannot be cast to a type node().</errTrace>
<errTrace>ERROR! Unknown op code: 0</errTrace>
- <errTrace>java.lang.ArrayIndexOutOfBoundsException</errTrace>
+ <errTrace>java.lang.ArrayIndexOutOfBoundsException: -1</errTrace>
</outResult>
</testResult>
<testResult testName="copy-1216"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_element-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_element-test-set_result.xml
index 99acc8eb6..42242271e 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_element-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_element-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:55Z" fail="18" name="element" pass="11" skipped="0" statusUnknown="0" totalRun="29">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:23Z" fail="18" name="element" pass="11" skipped="0" statusUnknown="0" totalRun="29">
<testResult status="fail" testName="element-0001">
<outResult/>
</testResult>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_for-each-group-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_for-each-group-test-set_result.xml
index 4e7c8186d..cb27fa2df 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_for-each-group-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_for-each-group-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:49Z" fail="27" name="for-each-group" pass="46" skipped="4" statusUnknown="1" totalRun="78">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:14Z" fail="27" name="for-each-group" pass="46" skipped="4" statusUnknown="1" totalRun="78">
<testResult status="pass" testName="for-each-group-001"/>
<testResult status="skipped" xsltVersion="2.0 only"/>
<testResult status="pass" testName="for-each-group-002"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_iterate-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_iterate-test-set_result.xml
index 8861eddc1..9e972cf54 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_iterate-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_iterate-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:53Z" fail="32" name="iterate" pass="11" skipped="0" statusUnknown="1" totalRun="44">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:20Z" fail="32" name="iterate" pass="11" skipped="0" statusUnknown="1" totalRun="44">
<testResult status="pass" testName="iterate-001"/>
<testResult status="pass" testName="iterate-002"/>
<testResult status="pass" testName="iterate-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sequence-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sequence-test-set_result.xml
index 37ca83e38..df5bfa713 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sequence-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sequence-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:53Z" fail="19" name="sequence" pass="7" skipped="0" statusUnknown="1" totalRun="27">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:20Z" fail="19" name="sequence" pass="7" skipped="0" statusUnknown="1" totalRun="27">
<testResult status="fail" testName="sequence-0101"/>
<testResult status="fail" testName="sequence-0102"/>
<testResult status="pass" testName="sequence-0103"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sort-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sort-test-set_result.xml
index d43b31a0e..5464502a8 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sort-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_sort-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:55Z" fail="44" name="sort" pass="35" skipped="0" statusUnknown="1" totalRun="80">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:23Z" fail="44" name="sort" pass="35" skipped="0" statusUnknown="1" totalRun="80">
<testResult status="pass" testName="sort-001"/>
<testResult status="pass" testName="sort-002"/>
<testResult status="fail" testName="sort-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_try-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_try-test-set_result.xml
index d5c424c27..447473515 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_try-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_try-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:50Z" fail="26" name="try" pass="11" skipped="5" statusUnknown="0" totalRun="42">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:15Z" fail="26" name="try" pass="11" skipped="5" statusUnknown="0" totalRun="42">
<testResult status="pass" testName="try-001"/>
<testResult status="fail" testName="try-002">
<outResult/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_xsl-document-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_xsl-document-test-set_result.xml
index 22dd60c7c..c6cb178cf 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_xsl-document-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/insn/_xsl-document-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:37Z" fail="13" name="xsl-document" pass="12" skipped="0" statusUnknown="0" totalRun="25">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:05Z" fail="13" name="xsl-document" pass="12" skipped="0" statusUnknown="0" totalRun="25">
<testResult status="pass" testName="xsl-document-0101"/>
<testResult status="fail" testName="xsl-document-0102">
<outResult>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/misc/_regex-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/misc/_regex-test-set_result.xml
index 78d2df373..fe4d65701 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/misc/_regex-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/misc/_regex-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:23:37Z" fail="12" name="regex" pass="33" skipped="0" statusUnknown="0" totalRun="45">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:20:05Z" fail="12" name="regex" pass="33" skipped="0" statusUnknown="0" totalRun="45">
<testResult status="pass" testName="regex-001"/>
<testResult status="fail" testName="regex-002"/>
<testResult status="pass" testName="regex-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_boolean-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_boolean-test-set_result.xml
index bd85a89b4..a02fb3b49 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_boolean-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_boolean-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:59Z" fail="24" name="boolean" pass="88" skipped="0" statusUnknown="0" totalRun="112">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:30Z" fail="24" name="boolean" pass="88" skipped="0" statusUnknown="0" totalRun="112">
<testResult status="pass" testName="boolean-001"/>
<testResult status="pass" testName="boolean-002"/>
<testResult status="pass" testName="boolean-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_date-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_date-test-set_result.xml
index bf960567a..fe9b8efcd 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_date-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_date-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:22:00Z" fail="47" name="date" pass="37" skipped="0" statusUnknown="1" totalRun="85">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:31Z" fail="47" name="date" pass="37" skipped="0" statusUnknown="1" totalRun="85">
<testResult status="pass" testName="date-001"/>
<testResult status="pass" testName="date-002"/>
<testResult status="pass" testName="date-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_node-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_node-test-set_result.xml
index 2e4c273ac..6e7092efd 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_node-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_node-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:21:59Z" fail="17" name="node" pass="15" skipped="0" statusUnknown="0" totalRun="32">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:31Z" fail="17" name="node" pass="15" skipped="0" statusUnknown="0" totalRun="32">
<testResult status="pass" testName="node-0101"/>
<testResult status="pass" testName="node-0201"/>
<testResult status="fail" testName="node-0301">
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_string-test-set_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_string-test-set_result.xml
index 5d259bcc6..200964431 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_string-test-set_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/type/_string-test-set_result.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T12:22:00Z" fail="8" name="string" pass="128" skipped="0" statusUnknown="0" totalRun="136">
+<?xml version="1.0" encoding="UTF-8"?><testrun dateTime="2025-06-27T17:17:31Z" fail="8" name="string" pass="128" skipped="0" statusUnknown="0" totalRun="136">
<testResult status="pass" testName="string-001"/>
<testResult status="pass" testName="string-002"/>
<testResult status="pass" testName="string-003"/>
diff --git a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/w3c_xslt3_testsuite_xalan-j_result.xml b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/w3c_xslt3_testsuite_xalan-j_result.xml
index bfe0dd289..9e0eaf8c5 100644
--- a/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/w3c_xslt3_testsuite_xalan-j_result.xml
+++ b/src/test/java/org/apache/xalan/tests/w3c/xslt3/result/w3c_xslt3_testsuite_xalan-j_result.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<testResult dateTime="2025-06-27T12:23:54Z" desc="W3C XSLT 3.0 test suite results" fail="793" pass="1363" skipped="38" success="62.97%" totalRun="2225" xslt_processor="Xalan-J XSLT 3.0 development code">
+<testResult dateTime="2025-06-27T17:20:23Z" desc="W3C XSLT 3.0 test suite results" fail="793" pass="1363" skipped="38" success="62.97%" totalRun="2225" xslt_processor="Xalan-J XSLT 3.0 development code">
<attr>
<as fail="53" pass="51" skipped="4" success="50.46%" totalRun="109"/>
<avt fail="14" pass="21" skipped="0" success="60.0%" totalRun="35"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org