Hi,
florianwendland@(protected):
> i have a problem by creating an xpath expression with an default
> namespace. The xpath expression didn't select the nodes, although i have
> added the namespace to the xpath by calling
> xp.addNamespace("http://www.test.de");
There is no default namespace in XPath.
So you have to use a namespace prefix in your XPath expressions. You can
choose any prefix as there is no relationship between the prefixes used in
XPath and the ones in the document: prefixes are just shortcuts and the
matching is done on the actual namespace URIs.
> My document looks like:
>
> <test xmlns="http://www.test.de">
> <node>
> </node>
> </test>
>
> The source:
>
> XPath xp = XPath.newInstance("/test/node");
> xp.addNamespace(ExiilConstants.NS);
> xp.selectNodes(document);
>
> Result of the list is allways 0.
The following should work:
XPath xp = XPath.newInstance("/x:test/x:node");
xp.addNamespace("x", "http://www.test.de");
xp.selectNodes(document);
If you want to use a JDOM Namespace object, you must create one with a prefix:
Namespace ns = Namespace.getNamespace("x", "http://www.test.de");
xp.addNamespace(ns);
Laurent
_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/youraddr@(protected)