String (String prefix, Node context) { if (context instanceof DTMNodeProxy) { final DTMNodeProxy proxy = (DTMNodeProxy)context; final DTM dtm = proxy.getDTM(); int p = proxy.getDTMNodeNumber(); while (p != DTM.NULL) { int nsNode = dtm.getFirstNamespaceNode(p, true); while (nsNode != DTM.NULL) { final String s = dtm.getLocalName(nsNode); if (s.equals(prefix)) { return dtm.getNodeValue(nsNode); } nsNode = dtm.getNextNamespaceNode(p, nsNode, true); } p = dtm.getParent(p); } } return super.getNamespaceForPrefix(prefix, context); }