⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recursivetextfunction.java

📁 java开源的企业总线.xmlBlaster
💻 JAVA
字号:
/*------------------------------------------------------------------------------Name:      RecursiveTextFunction.javaProject:   xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE fileComment:   Support check of message content with XPath expressions.------------------------------------------------------------------------------*/package org.xmlBlaster.engine.mime.xpath;import org.jaxen.Function;import org.jaxen.FunctionCallException;import org.jaxen.Context;import org.jaxen.Navigator;import org.jaxen.function.StringFunction;import java.util.List;import java.util.Iterator;/** * Jaxen XPath extension function: recursive-text(node) * * <p>Recursivly concat and return all descending text nodes of the node. Mat * for example be used with ContainsIgnoreCaseFunction: </p> * <pre> * contains-ignore-case(recursive-text(//body.content), 'XmlBlaster') * </pre> * @author Jens Askengren * @version $Id: RecursiveTextFunction.java 12937 2004-11-24 20:15:11Z ruff $ */public class RecursiveTextFunction	implements Function{	public Object call(Context context, List args)		throws FunctionCallException	{		if (args.size() != 1) {			throw new FunctionCallException("recursive-text() requires one argument.");		}		return evaluate(args.get(0), context.getNavigator());	}	public static String evaluate(Object strArg, Navigator nav)	{		if (strArg instanceof List) {			StringBuffer buff = new StringBuffer();			List list = (List) strArg;			Iterator iter = list.iterator();			while ( iter.hasNext()) {				buff.append(evaluate(iter.next(), nav));			}			return buff.toString();		}		return StringFunction.evaluate(strArg, nav);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -