package railo.runtime.functions.xml;
import org.w3c.dom.Node;
import railo.runtime.PageContext;
import railo.runtime.ext.function.Function;
import railo.runtime.text.xml.XMLNodeList;
import railo.runtime.text.xml.XMLUtil;
/**
* Implements the CFML Function xmlchildpos
*/
public final class XmlChildPos implements Function {
public static double call(PageContext pc , Node node, String name, double index) {
XMLNodeList xmlNodeList = new XMLNodeList(node,false);
int len=xmlNodeList.getLength();
// if(index<1)throw new FunctionException(pc,"XmlChildPos","second","index","attribute must be 1 or greater");
int count=1;
for(int i=0;i<len;i++) {
Node n=xmlNodeList.item(i);
if(XMLUtil.nameEqual(n,name,XMLUtil.isCaseSensitve(n)) && count++==index) return i+1;
}
return -1;
}
}