+ "this works only if the string is wellformed xml"); return m_xPath.evaluate(new InputSource(new StringReader((String) m_previous.eval())), getReturnType()); } else if (XPathConstants.NODE == m_previous.getReturnType()) { return m_xPath.evaluate(m_previous.eval(), getReturnType()); } else if (XPathConstants.NODESET == m_previous.getReturnType()) { return evalNodeList((NodeList) m_previous.eval()); } else if (m_previous.getReturnType() == null) { return m_xPath.evaluate((InputSource) m_previous.eval(), getReturnType()); } else if (XPathConstants.NUMBER == m_previous.getReturnType()) {