001 package railo.runtime.functions.decision; 002 003 import org.w3c.dom.Attr; 004 import org.w3c.dom.Node; 005 import org.w3c.dom.NodeList; 006 007 import railo.runtime.PageContext; 008 import railo.runtime.ext.function.Function; 009 import railo.runtime.text.xml.struct.XMLStruct; 010 011 /** 012 * Check if a value is a XML Attribut (XML Attr Node) 013 */ 014 public final class IsXmlAttribute implements Function { 015 016 public static boolean call(PageContext pc, Object value) { 017 018 if(value instanceof Attr)return true; 019 else if(value instanceof NodeList) return ((NodeList)value).item(0).getNodeType()==Node.ATTRIBUTE_NODE; 020 else if(value instanceof XMLStruct) return ((XMLStruct)value).getNodeType()==Node.ATTRIBUTE_NODE; 021 return false; 022 } 023 }