use of org.eclipse.wst.xml.xpath2.processor.internal.types.XSString in project webtools.sourceediting by eclipse.
the class FnSubstring method expected_args.
/**
* Calculate the expected arguments.
*
* @return The expected arguments.
*/
public static Collection expected_args(Collection actualArgs) {
Collection _expected_args = new ArrayList();
_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
_expected_args.add(new SeqType(new XSDouble(), SeqType.OCC_NONE));
// for arity 3
if (actualArgs.size() == 3) {
_expected_args.add(new SeqType(new XSDouble(), SeqType.OCC_NONE));
}
return _expected_args;
}
use of org.eclipse.wst.xml.xpath2.processor.internal.types.XSString in project webtools.sourceediting by eclipse.
the class FnSubstringBefore method substring_before.
/**
* Substring-Before operation.
*
* @param args
* Result from the expressions evaluation.
* @throws DynamicError
* Dynamic error.
* @return Result of fn:substring-before operation.
*/
public static ResultSequence substring_before(Collection args) throws DynamicError {
Collection cargs = Function.convert_arguments(args, expected_args());
// get args
Iterator argiter = cargs.iterator();
ResultSequence arg1 = (ResultSequence) argiter.next();
String str1 = "";
String str2 = "";
if (!arg1.empty()) {
str1 = ((XSString) arg1.first()).value();
}
ResultSequence arg2 = (ResultSequence) argiter.next();
if (!arg2.empty()) {
str2 = ((XSString) arg2.first()).value();
}
int str2len = str2.length();
if (str2len == 0) {
return new XSString("");
}
int index = str1.indexOf(str2);
if (index == -1) {
return new XSString("");
}
return new XSString(str1.substring(0, index));
}
use of org.eclipse.wst.xml.xpath2.processor.internal.types.XSString in project webtools.sourceediting by eclipse.
the class FnUpperCase method expected_args.
/**
* Calculate the expected arguments.
*
* @return The expected arguments.
*/
public static synchronized Collection expected_args() {
if (_expected_args == null) {
_expected_args = new ArrayList();
_expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
}
return _expected_args;
}
use of org.eclipse.wst.xml.xpath2.processor.internal.types.XSString in project webtools.sourceediting by eclipse.
the class FnUpperCase method upper_case.
/**
* Convert arguments to upper case.
*
* @param args
* are converted to upper case.
* @throws DynamicError
* Dynamic error.
* @return The result of converting the arguments to upper case.
*/
public static ResultSequence upper_case(Collection args) throws DynamicError {
Collection cargs = Function.convert_arguments(args, expected_args());
ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
if (arg1.empty()) {
return new XSString("");
}
String str = ((XSString) arg1.first()).value();
return new XSString(str.toUpperCase());
}
use of org.eclipse.wst.xml.xpath2.processor.internal.types.XSString in project webtools.sourceediting by eclipse.
the class FnResolveQName method expected_args.
/**
* Obtain a list of expected arguments.
*
* @return Result of operation.
*/
public static synchronized Collection expected_args() {
if (_expected_args == null) {
_expected_args = new ArrayList();
SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
_expected_args.add(arg);
_expected_args.add(new SeqType(new ElementType(), SeqType.OCC_NONE));
}
return _expected_args;
}
Aggregations