aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/xml/XmlParser.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-09-26 17:38:41 +0100
committerMichael Williamson <mike@zwobble.org>2015-09-26 17:38:41 +0100
commitb407cc0db579ccf96a023e7cafd2672f507a1b89 (patch)
treede2453a8aea984220c79f2d3f0def1c4d11deb20 /src/main/java/org/zwobble/mammoth/xml/XmlParser.java
parentbe6fbc6f4e2f80552d3a7bab8677066d1fc858fc (diff)
Generate names including URI in braces
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) {