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();
         }

Reply via email to