if(n != null) { switch(n.getNodeType()) { case Node.ELEMENT_NODE:
if (n != null) { switch (n.getNodeType()) { case Node.ELEMENT_NODE : case Node.ATTRIBUTE_NODE :
	public Sequence eval(StaticContext context, DocumentSet docs, Sequence contextSequence, 		Item contextItem) throws XPathException {		Node n = null;		if(contextItem != null)			contextSequence = contextItem.toSequence();		if(getArgumentCount() > 0) {			NodeSet result = (NodeSet)getArgument(0).eval(context, docs, contextSequence);			if(result.getLength() > 0)				n = result.item(0);		} else {			if(contextSequence.getLength() > 0 && contextSequence.getItemType() == Type.NODE)				n = ((NodeSet)contextSequence).item(0);		}		if(n != null) {			switch(n.getNodeType()) {				case Node.ELEMENT_NODE:					return new StringValue(n.getNamespaceURI());				case Node.ATTRIBUTE_NODE:					return new StringValue(n.getNamespaceURI());				default:					return new StringValue("");			}		} 		return new StringValue("");	}