@Override
public void generateDocument(ZipOutputStream output)
throws ParserConfigurationException, IOException, TransformerConfigurationException, TransformerException,
TransformerFactoryConfigurationError {
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Element set = document.createElementNS(null, xmlCollectionName());
document.appendChild(set);
items().map(item -> {
Element itemElement = document.createElement(xmlName());
populate(itemElement, item);
return itemElement;
}).forEach(set::appendChild);
output.putNextEntry(new ZipEntry(fileName()));
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(document), new StreamResult(output));
output.closeEntry();
}