XMLStreamWriter.writeStartElement(prefix,localName,namespaceURI) (doc link)
The namespaceURI parameter is not null, but it failed to bind the prefix to the namespaceURI:
writeStartElement("manifest","manifest","urn:oasis:names:tc:opendocument:xmlns:manifest:1.0")
The result file:
<manifest:manifest>
But it should be:
<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">