You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2005/01/21 12:12:06 UTC
svn commit: r125919 - /cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java
Author: sylvain
Date: Fri Jan 21 03:12:03 2005
New Revision: 125919
URL: http://svn.apache.org/viewcvs?view=rev&rev=125919
Log:
Fixing namespace detection using attributes
Modified:
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java
Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java
Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java?view=diff&rev=125919&p1=cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java&r1=125918&p2=cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java&r2=125919
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/jxpath/DOMFactory.java Fri Jan 21 03:12:03 2005
@@ -18,6 +18,7 @@
import org.apache.commons.jxpath.AbstractFactory;
import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.Pointer;
+import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -27,7 +28,7 @@
* that creates DOM elements.
*
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version $Id: DOMFactory.java,v 1.3 2004/03/17 09:29:15 cziegeler Exp $
+ * @version $Id$
*/
public class DOMFactory extends AbstractFactory {
@@ -110,10 +111,10 @@
return element.getNamespaceURI();
}
- String namespace = ((Element)tmp).getAttribute(nsAttr);
- if (namespace != null) {
- //System.out.println("Found attribute '" + nsAttr + "'='" + namespace + "' on element " + tmp.getNodeName());
- return namespace;
+ // Note: stupid DOM api returns "" when an attribute doesn't exist, so we use the Attr node.
+ Attr nsAttrNode = ((Element)tmp).getAttributeNode(nsAttr);
+ if (nsAttrNode != null) {
+ return nsAttrNode.getValue();
}
tmp = tmp.getParentNode();
}