After setting the namespace with setPrefix(...), the namespace is supposed to remain active until the end tag of the element is reached, but if an attribute is written, the namespace prefix gets re-assigned to an automatically generated one, and all subsequent child elements/attributes assume the automatically generated prefix.
Description
e.g.
...
final String ns = "
mSerializer.startDocument("UTF-8", false);
mSerializer.setPrefix("", ns);
mSerializer.startTag(ns, "level1").text("\n");
mSerializer.startTag(ns, "level2").text("\n");
mSerializer.startTag(ns, "level3").attribute(ns, "value", "hello").text("\n");
mSerializer.startTag(ns, "level4").text("somevalue").text("\n");
mSerializer.endTag(ns, "level4").text("\n");
mSerializer.endTag(ns, "level3").text("\n");
mSerializer.endTag(ns, "level2").text("\n");
mSerializer.endTag(ns, "level1").text("\n");
should result with...(indents added for clarity)
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<Level1 xmlns="
<Level2>
<Level3 value="hello">
<Level4>somevalue</Level4>
</Level3>
</Level2>
</Level1>
but actually results with...
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<Level1 xmlns="
<Level2>
<Level3 n0:value="hello" xmlns:n0="
<n0:Level4>somevalue</n0:Level4>
</Level3>
</Level2>
</Level1>