aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/xml/XmlParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/xml/XmlParser.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/xml/XmlParser.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlParser.java b/src/main/java/org/zwobble/mammoth/xml/XmlParser.java
index 360c174..5b26de3 100644
--- a/src/main/java/org/zwobble/mammoth/xml/XmlParser.java
+++ b/src/main/java/org/zwobble/mammoth/xml/XmlParser.java
@@ -4,6 +4,8 @@ import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Map;
+import com.google.common.base.Strings;
+
import static java.util.stream.Collectors.toMap;
import lombok.val;
@@ -32,12 +34,21 @@ public class XmlParser {
.entrySet()
.stream()
.collect(toMap(
- entry -> entry.getKey().getLocalName(),
+ entry -> readName(entry.getKey()),
entry -> entry.getValue()));
- val element = new XmlElementBuilder(name.getLocalName(), simpleAttributes);
+ val element = new XmlElementBuilder(readName(name), simpleAttributes);
elementStack.add(element);
}
+ private String readName(ElementName name) {
+ if (Strings.isNullOrEmpty(name.getUri())) {
+ return name.getLocalName();
+ } else {
+ return "{" + name.getUri() + "}" + name.getLocalName();
+ }
+
+ }
+
@Override
public void endElement() {
if (elementStack.size() > 1) {