Adds define of unknown NSes

This commit is contained in:
Sergey Toshin
2018-04-07 19:21:03 +03:00
committed by Skylot
parent cb23b65797
commit 9c6c18780f
@@ -309,10 +309,23 @@ public class BinaryXMLParser extends CommonBinaryParser {
}
String attrName = nsMap.get(attrUrl);
if (attrName == null) {
return "NOT_FOUND_NS_0x" + Integer.toHexString(attributeNS) + "_" + attrUrl;
attrName = generateNameForNS(attrUrl);
}
return attrName;
}
private String generateNameForNS(String attrUrl) {
for(int i = 1; ; i++) {
String attrName = "ns" + i;
if(!nsMap.containsValue(attrName)) {
// do not add generated value to nsMap
// because attrUrl might be used in a neighbor element, but never defined
writer.add("xmlns:").add(attrName)
.add("=\"").add(attrUrl).add("\"");
return attrName;
}
}
}
private String getAttributeName(int id) {
String str = getString(id);