summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/common-xml/src/main
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-08-06 22:52:36 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-08-06 22:52:36 +0000
commit99c3493ac3fcd674506653d44957315f3bcb3ee8 (patch)
tree7b1629d0f8c22fe41c4ee24ac269e8396a940572 /java/sca/modules/common-xml/src/main
parent94402676aeeb70f37d188c9afc82352fc10a1e0b (diff)
Fix the DOM XMLStreamReader
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@801829 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/common-xml/src/main')
-rw-r--r--java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java10
-rw-r--r--java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java10
-rw-r--r--java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java5
3 files changed, 14 insertions, 11 deletions
diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java
index b575eb7718..89682badc8 100644
--- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java
+++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java
@@ -60,10 +60,18 @@ public final class DOMHelper {
public static QName getQName(Node node) {
String ns = node.getNamespaceURI();
+ String prefix = node.getPrefix();
+ String localName = node.getLocalName();
+ if (localName == null) {
+ localName = node.getNodeName();
+ }
if (ns == null) {
ns = "";
}
- return new QName(ns, node.getNodeName());
+ if (prefix == null) {
+ prefix = "";
+ }
+ return new QName(ns, localName, prefix);
}
public static Element createElement(Document document, QName name) {
diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java
index 83ff31000d..95b10358b8 100644
--- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java
+++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java
@@ -27,6 +27,7 @@ import java.util.Map;
import javax.xml.namespace.QName;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
@@ -109,14 +110,7 @@ public class DOMXmlNodeImpl implements XmlNode {
}
private static QName getQName(Node node) {
- int type = node.getNodeType();
- if (type == Node.ELEMENT_NODE || type == Node.ATTRIBUTE_NODE) {
- String ns = node.getNamespaceURI();
- String prefix = node.getPrefix();
- String localName = node.getLocalName();
- return new QName(ns == null ? "" : ns, localName, prefix == null ? "" : prefix);
- }
- return null;
+ return DOMHelper.getQName(node);
}
/**
diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java
index 9421a60339..e78e8558e7 100644
--- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java
+++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java
@@ -67,13 +67,14 @@ public final class StAXHelper {
return inputFactory.createXMLStreamReader(source);
}
- /*
public XMLStreamReader createXMLStreamReader(Node node) throws XMLStreamException {
+ /*
// DOMSource is not supported by the XMLInputFactory from JDK 6
DOMSource source = new DOMSource(node);
return createXMLStreamReader(source);
+ */
+ return new DOMXMLStreamReader(node);
}
- */
public XMLStreamReader createXMLStreamReader(String string) throws XMLStreamException {
StringReader reader = new StringReader(string);