org.jaxen.function
public class TranslateFunction extends Object implements Function
4.2
string translate(string,string,string)
The translate function returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument string. For example,
translate("bar","abc","ABC")
returns the stringBAr
. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example,translate("--aaa--","abc-","ABC")
returns"AAA"
. If a character occurs more than once in the second argument string, then the first occurrence determines the replacement character. If the third argument string is longer than the second argument string, then excess characters are ignored.NOTE: The translate function is not a sufficient solution for case conversion in all languages. A future version of XPath may provide additional functions for case conversion.
See Also: Section 4.2 of the XPath Specification
Constructor Summary | |
---|---|
TranslateFunction()
Create a new TranslateFunction object. |
Method Summary | |
---|---|
Object | call(Context context, List args) Returns a copy of the first argument in which
characters found in the second argument are replaced by
corresponding characters from the third argument.
|
static String | evaluate(Object strArg, Object fromArg, Object toArg, Navigator nav)
Returns a copy of strArg in which
characters found in fromArg are replaced by
corresponding characters from toArg .
|
static boolean | isHighSurrogate(char c) |
static boolean | isLowSurrogate(char c) |
static String[] | toUnicodeCharacters(String s) |
TranslateFunction
object.Parameters: context the context at the point in the expression when the function is called args a list that contains exactly three items
Returns: a String
built from args.get(0)
in which occurrences of characters in args.get(1)
are replaced by the corresponding characters in args.get(2)
Throws: FunctionCallException if args
does not have exactly three items
strArg
in which
characters found in fromArg
are replaced by
corresponding characters from toArg
.
If necessary each argument is first converted to it string-value
as if by the XPath string()
function.
Parameters: strArg the base string fromArg the characters to be replaced toArg the characters they will be replaced by nav the Navigator
used to calculate the string-values of the arguments.
Returns: a copy of strArg
in which
characters found in fromArg
are replaced by
corresponding characters from toArg
Throws: FunctionCallException if one of the arguments is a malformed Unicode string; that is, if surrogate characters don't line up properly