Class LangFunction
- java.lang.Object
-
- org.jaxen.function.LangFunction
-
- All Implemented Interfaces:
Function
public class LangFunction extends java.lang.Object implements Function
4.3
boolean lang(string)
The lang function returns true or false depending on whether the language of the context node as specified by
xml:lang
attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of thexml:lang
attribute on the context node, or, if the context node has noxml:lang
attribute, by the value of thexml:lang
attribute on the nearest ancestor of the context node that has anxml:lang
attribute. If there is no such attribute, then lang returns false. If there is such an attribute, then lang returns true if the attribute value is equal to the argument ignoring case, or if there is some suffix starting with-
such that the attribute value is equal to the argument ignoring that suffix of the attribute value and ignoring case. For example,lang("en")
would return true if the context node is any of these five elements:<para xml:lang="en"/> <div xml:lang="en"><para/></div> <para xml:lang="EN"/> <para xml:lang="en-us"/>
- See Also:
- XPath Specification
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
LANG_LOCALNAME
private static java.lang.String
XMLNS_URI
-
Constructor Summary
Constructors Constructor Description LangFunction()
Create a newLangFunction
object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
call(Context context, java.util.List args)
Determines whether or not the context node is written in the language specified by the XPath string-value ofargs.get(0)
, as determined by the nearestxml:lang
attribute in scope.private static boolean
evaluate(java.lang.Object node, java.lang.String lang, Navigator nav)
private static java.lang.Boolean
evaluate(java.util.List contextNodes, java.lang.Object lang, Navigator nav)
private static boolean
isSublang(java.lang.String sublang, java.lang.String lang)
-
-
-
Field Detail
-
LANG_LOCALNAME
private static final java.lang.String LANG_LOCALNAME
- See Also:
- Constant Field Values
-
XMLNS_URI
private static final java.lang.String XMLNS_URI
- See Also:
- Constant Field Values
-
-
Method Detail
-
call
public java.lang.Object call(Context context, java.util.List args) throws FunctionCallException
Determines whether or not the context node is written in the language specified by the XPath string-value of
args.get(0)
, as determined by the nearestxml:lang
attribute in scope.- Specified by:
call
in interfaceFunction
- Parameters:
context
- the context in which to evaluate thelang()
functionargs
- the arguments to the lang function- Returns:
- a
Boolean
indicating whether the context node is written in the specified language - Throws:
FunctionCallException
- ifargs
does not have length one
-
evaluate
private static java.lang.Boolean evaluate(java.util.List contextNodes, java.lang.Object lang, Navigator nav) throws UnsupportedAxisException
- Throws:
UnsupportedAxisException
-
evaluate
private static boolean evaluate(java.lang.Object node, java.lang.String lang, Navigator nav) throws UnsupportedAxisException
- Throws:
UnsupportedAxisException
-
isSublang
private static boolean isSublang(java.lang.String sublang, java.lang.String lang)
-
-