final String localization)
throws SCRDescriptorException {
final String namespace = detectMetatypeVersion(metaData);
try {
final ContentHandler contentHandler = IOUtils.getSerializer(file);
contentHandler.startDocument();
contentHandler.startPrefixMapping(PREFIX, namespace);
final AttributesImpl ai = new AttributesImpl();
IOUtils.addAttribute(ai, "localization", localization);
contentHandler.startElement(namespace, METADATA_ELEMENT, METADATA_ELEMENT_QNAME, ai);
IOUtils.newline(contentHandler);
for(final ComponentContainer comp : components) {
if ( comp.getMetatypeContainer() != null ) {
generateOCDXML(comp.getMetatypeContainer(), contentHandler);
generateDesignateXML(comp.getMetatypeContainer(), contentHandler);
}
}
// end wrapper element
contentHandler.endElement(namespace, METADATA_ELEMENT, METADATA_ELEMENT_QNAME);
IOUtils.newline(contentHandler);
contentHandler.endPrefixMapping(PREFIX);
contentHandler.endDocument();
} catch (final IOException e) {
throw new SCRDescriptorException("Unable to generate xml", file.toString(), e);
} catch (final TransformerException e) {
throw new SCRDescriptorException("Unable to generate xml", file.toString(), e);
} catch (final SAXException e) {