XPath implicitCast = new DOMXPath("//lat[(processing-instruction() >= 37)]");
XPath explicitCast = new DOMXPath("//lat[(number(processing-instruction()) >= 37)]");
DocumentBuilder builder = factory.newDocumentBuilder();
ByteArrayInputStream in = new ByteArrayInputStream("<geo><lat><?test 39?></lat></geo>".getBytes("UTF-8"));
Document document = builder.parse(in);
List result = explicitCast.selectNodes(document);
assertEquals(1, result.size());
result = implicitCast.selectNodes(document);
assertEquals(1, result.size());
}