diff options
author | Chris Burdess <dog@bluezoo.org> | 2006-01-12 19:46:59 +0000 |
---|---|---|
committer | Chris Burdess <dog@bluezoo.org> | 2006-01-12 19:46:59 +0000 |
commit | 5cb1472403deb7bb63ef610dcc8dc78f13d25ac8 (patch) | |
tree | ae4d2cf3fafa5102986434f09ffe8944eb8dd838 | |
parent | 461ac57d4885176582796d12a0f7448161e28b2c (diff) | |
download | classpath-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-- | ChangeLog | 12 | ||||
-rw-r--r-- | gnu/xml/dom/DomNode.java | 7 | ||||
-rw-r--r-- | gnu/xml/transform/ElementAvailableFunction.java | 1 | ||||
-rw-r--r-- | gnu/xml/transform/MessageNode.java | 23 | ||||
-rw-r--r-- | gnu/xml/xpath/NameTest.java | 4 | ||||
-rw-r--r-- | gnu/xml/xpath/NamespaceTest.java | 26 | ||||
-rw-r--r-- | gnu/xml/xpath/Selector.java | 32 |
7 files changed, 52 insertions, 53 deletions
@@ -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++) |