summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2006-01-12 19:46:59 +0000
committerChris Burdess <dog@bluezoo.org>2006-01-12 19:46:59 +0000
commit5cb1472403deb7bb63ef610dcc8dc78f13d25ac8 (patch)
treeae4d2cf3fafa5102986434f09ffe8944eb8dd838
parent461ac57d4885176582796d12a0f7448161e28b2c (diff)
downloadclasspath-5cb1472403deb7bb63ef610dcc8dc78f13d25ac8.tar.gz
2006-01-12 Chris Burdess <dog@gnu.org>
* gnu/xml/dom/DomNode.java, gnu/xml/transform/ElementAvailableFunction.java: Removed debugging output. * gnu/xml/xpath/NameTest.java, gnu/xml/xpath/NamespaceTest.java, gnu/xml/xpath/Selector.java: Fix regression for namespace axis navigation. * gnu/xml/transform/MessageNode.java: Use standard logging system for outputting messages.
-rw-r--r--ChangeLog12
-rw-r--r--gnu/xml/dom/DomNode.java7
-rw-r--r--gnu/xml/transform/ElementAvailableFunction.java1
-rw-r--r--gnu/xml/transform/MessageNode.java23
-rw-r--r--gnu/xml/xpath/NameTest.java4
-rw-r--r--gnu/xml/xpath/NamespaceTest.java26
-rw-r--r--gnu/xml/xpath/Selector.java32
7 files changed, 52 insertions, 53 deletions
diff --git a/ChangeLog b/ChangeLog
index 2f767e6b3..baefed68c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2006-01-12 Chris Burdess <dog@gnu.org>
+
+ * gnu/xml/dom/DomNode.java,
+ gnu/xml/transform/ElementAvailableFunction.java: Removed debugging
+ output.
+ * gnu/xml/xpath/NameTest.java,
+ gnu/xml/xpath/NamespaceTest.java,
+ gnu/xml/xpath/Selector.java: Fix regression for namespace axis
+ navigation.
+ * gnu/xml/transform/MessageNode.java: Use standard logging system
+ for outputting messages.
+
2006-01-12 Tom Tromey <tromey@redhat.com>
* java/net/InetAddress.java (DEFAULT_CACHE_SIZE): Removed.
diff --git a/gnu/xml/dom/DomNode.java b/gnu/xml/dom/DomNode.java
index 68a2582b7..93f7c6f64 100644
--- a/gnu/xml/dom/DomNode.java
+++ b/gnu/xml/dom/DomNode.java
@@ -1991,13 +1991,6 @@ public abstract class DomNode
public boolean isEqualNode(Node arg)
{
- boolean ret = isEqualNode2(arg);
- System.err.println("isEqualNode("+toString()+","+arg.toString()+")="+ret);
- return ret;
- }
-
- public boolean isEqualNode2(Node arg)
- {
if (this == arg)
return true;
if (arg == null)
diff --git a/gnu/xml/transform/ElementAvailableFunction.java b/gnu/xml/transform/ElementAvailableFunction.java
index 0385a2e7e..aa1598169 100644
--- a/gnu/xml/transform/ElementAvailableFunction.java
+++ b/gnu/xml/transform/ElementAvailableFunction.java
@@ -140,7 +140,6 @@ class ElementAvailableFunction
localName = name.substring(ci + 1);
}
uri = nsctx.getNamespaceURI(prefix);
- System.err.println("**** element-avaliable: prefix="+prefix+" uri="+uri);
if (Stylesheet.XSL_NS.equals(uri))
{
return elements.contains(localName) ?
diff --git a/gnu/xml/transform/MessageNode.java b/gnu/xml/transform/MessageNode.java
index 1df716836..e8e07c6da 100644
--- a/gnu/xml/transform/MessageNode.java
+++ b/gnu/xml/transform/MessageNode.java
@@ -1,5 +1,5 @@
/* MessageNode.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,6 +37,7 @@ exception statement from your version. */
package gnu.xml.transform;
+import java.util.logging.Logger;
import javax.xml.namespace.QName;
import javax.xml.transform.TransformerException;
import org.w3c.dom.Document;
@@ -53,6 +54,8 @@ final class MessageNode
extends TemplateNode
{
+ static final Logger logger = Logger.getLogger("gnu.xml.transform");
+
final boolean terminate;
MessageNode(boolean terminate)
@@ -64,13 +67,9 @@ final class MessageNode
{
TemplateNode ret = new MessageNode(terminate);
if (children != null)
- {
- ret.children = children.clone(stylesheet);
- }
+ ret.children = children.clone(stylesheet);
if (next != null)
- {
- ret.next = next.clone(stylesheet);
- }
+ ret.next = next.clone(stylesheet);
return ret;
}
@@ -86,16 +85,12 @@ final class MessageNode
DocumentFragment fragment = doc.createDocumentFragment();
children.apply(stylesheet, mode, context, pos, len, fragment, null);
String message = Expr.stringValue(fragment);
- System.err.println(message);
+ logger.info(message);
if (terminate)
- {
- stylesheet.terminated = true;
- }
+ stylesheet.terminated = true;
}
if (next != null && !terminate)
- {
- next.apply(stylesheet, mode, context, pos, len, parent, nextSibling);
- }
+ next.apply(stylesheet, mode, context, pos, len, parent, nextSibling);
}
}
diff --git a/gnu/xml/xpath/NameTest.java b/gnu/xml/xpath/NameTest.java
index c7b1cbcb4..3fdd0541e 100644
--- a/gnu/xml/xpath/NameTest.java
+++ b/gnu/xml/xpath/NameTest.java
@@ -110,7 +110,7 @@ public final class NameTest
return (localName.equals(nodeLocalName));
}
- private static final String getLocalName(Node node)
+ static String getLocalName(Node node)
{
String localName = node.getLocalName();
if (localName == null)
@@ -123,7 +123,7 @@ public final class NameTest
return localName;
}
- final boolean equal(String s1, String s2)
+ static boolean equal(String s1, String s2)
{
return (((s1 == null || s1.length() == 0) &&
(s2 == null || s2.length() == 0)) ||
diff --git a/gnu/xml/xpath/NamespaceTest.java b/gnu/xml/xpath/NamespaceTest.java
index 6d41166bc..d93b76d9d 100644
--- a/gnu/xml/xpath/NamespaceTest.java
+++ b/gnu/xml/xpath/NamespaceTest.java
@@ -81,28 +81,22 @@ public final class NamespaceTest
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(uri) ||
XMLConstants.XMLNS_ATTRIBUTE.equals(node.getPrefix()) ||
XMLConstants.XMLNS_ATTRIBUTE.equals(node.getNodeName()))
- {
- break;
- }
+ break;
// Fall through
default:
// Only process namespace attributes
return false;
}
if (any)
- {
- return true;
- }
+ return true;
+ String uri = qName.getNamespaceURI();
+ String nodeUri = node.getNamespaceURI();
+ if (!NameTest.equal(uri, nodeUri))
+ return false;
if (anyLocalName)
- {
- return true;
- }
+ return true;
String localName = qName.getLocalPart();
- String nodeLocalName = node.getLocalName();
- if (nodeLocalName == null)
- {
- nodeLocalName = node.getNodeName();
- }
+ String nodeLocalName = NameTest.getLocalName(node);
return (localName.equals(nodeLocalName));
}
@@ -119,9 +113,7 @@ public final class NamespaceTest
public String toString ()
{
if (any)
- {
- return "*";
- }
+ return "*";
return qName.toString();
}
diff --git a/gnu/xml/xpath/Selector.java b/gnu/xml/xpath/Selector.java
index ebaeb28fc..93408e48b 100644
--- a/gnu/xml/xpath/Selector.java
+++ b/gnu/xml/xpath/Selector.java
@@ -85,11 +85,13 @@ public final class Selector
public Selector(int axis, List tests)
{
this.axis = axis;
- this.tests = new Test[tests.size()];
- tests.toArray(this.tests);
- if (axis == NAMESPACE &&
- this.tests.length > 0 &&
- this.tests[0] instanceof NameTest)
+ int len = tests.size();
+ this.tests = new Test[(len == 0) ? 1 : len];
+ if (len > 0)
+ tests.toArray(this.tests);
+ else
+ this.tests[0] = new NameTest(null, true, true);
+ if (axis == NAMESPACE && this.tests[0] instanceof NameTest)
{
NameTest nt = (NameTest) this.tests[0];
this.tests[0] = new NamespaceTest(nt.qName, nt.anyLocalName, nt.any);
@@ -128,6 +130,8 @@ public final class Selector
{
int pos = getContextPosition(context);
int len = getContextSize(context);
+ if (len == 0)
+ System.err.println("WARNING: context size is 0");
for (int j = 0; j < tlen && len > 0; j++)
{
Test test = tests[j];
@@ -151,13 +155,17 @@ public final class Selector
{
if (ctx.getNodeType() == Node.ATTRIBUTE_NODE)
{
- Node parent = ((Attr) ctx).getOwnerElement();
- return parent.getAttributes().getLength();
+ Node owner = ((Attr) ctx).getOwnerElement();
+ return owner.getAttributes().getLength();
}
- Node parent = ctx.getParentNode();
- if (parent != null)
- return parent.getChildNodes().getLength();
- return 1;
+ int count = 1;
+ Node sib = ctx.getPreviousSibling();
+ for (; sib != null; sib = sib.getPreviousSibling())
+ count++;
+ sib = ctx.getNextSibling();
+ for (; sib != null; sib = sib.getNextSibling())
+ count++;
+ return count;
}
public Object evaluate(Node context, int pos, int len)
@@ -470,7 +478,7 @@ public final class Selector
break;
}
if (tests.length == 0)
- buf.append('*');
+ buf.append("[error]");
else
{
for (int i = 0; i < tests.length; i++)