Hi, everyone!

At work, I'm having problems to run a XPath using the selectNodeList() method from Xalan. The XPath I want to execute is:

//pam:message//prism:coverDate

The error message I have is: The prefix 'pam' is not declared.
expression = '//pam:message//prism:startingPage' Remaining tokens are: ('/' '/').

I have searched on the Internet and I think that I should make the XPathEvaluator recognize that namespace. My problem is: I don't know how to do that.

If someone can show me what to do, I will appreciate it.

I found a solution for my problem. I designed a class that derivates from PrefixResolver, a class that solves prefixes and namespaces. All I needed to do is to implement some methods, like setAPrefixAndAUri, getPrefix and getURI. I passed a PrefixResolver object to the XPathEvaluator with the correct prefix/uri pairs and the XPathEvaluator can recognize the prefix. I'm happy, now!

Thanks for your attention!

This question has already been answered. Start a new discussion instead.