From a770c7d60ab14d03d5569df4fa56d2cfb1e4661f Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 21 May 2024 13:45:09 -0500 Subject: [PATCH] Fix for namespaced attributes Since we only store them by prefix right now (boo!) at least keep the prefix definition as well. --- src/main/java/eu/siacs/conversations/xml/XmlReader.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/eu/siacs/conversations/xml/XmlReader.java b/src/main/java/eu/siacs/conversations/xml/XmlReader.java index b6a3c6a012015f61a7052c1d9dd8a5653e71b36b..4c78745a85baffd127aa619dba70f6f03e942546 100644 --- a/src/main/java/eu/siacs/conversations/xml/XmlReader.java +++ b/src/main/java/eu/siacs/conversations/xml/XmlReader.java @@ -70,6 +70,12 @@ public class XmlReader implements Closeable { } tag.setAttribute(name,parser.getAttributeValue(i)); } + int nsStart = parser.getNamespaceCount(parser.getDepth()-1); + int nsEnd = parser.getNamespaceCount(parser.getDepth()); + for (int i = nsStart; i < nsEnd; i++) { + final var prefix = parser.getNamespacePrefix(i); + tag.setAttribute("xmlns" + (prefix == null ? "" : ":" + prefix), parser.getNamespaceUri(i)); + } if (xmlns != null) { tag.setAttribute("xmlns", xmlns); }