private void writeExtension()

in src/main/java/org/apache/sling/sitemap/impl/builder/UrlImpl.java [174:199]


    private void writeExtension(StringWriter out, ExtensionMeta extension) {
        try {
            XMLStreamWriter extensionWriter = xmlWriterFactory.createXMLStreamWriter(out);
            extensionWriter.setPrefix(extension.prefix, extension.namespace);
            if (extension.emptyTag) {
                extensionWriter.writeEmptyElement(extension.prefix, extension.localName, extension.namespace);
            } else {
                extensionWriter.writeStartElement(extension.prefix, extension.localName, extension.namespace);
            }
            extension.extension.writeTo(new ExtensionWriter(extensionWriter, extension.namespace));
            if (!extension.emptyTag) {
                extensionWriter.writeEndElement();
            } else {
                // in order to properly close the empty tag at the end of the xml-fragment
                extensionWriter.writeCharacters("");
            }
            extensionWriter.flush();
        } catch (XMLStreamException ex) {
            if (LOG.isDebugEnabled()) {
                LOG.warn("Failed to serialize extension {}", extension.extension.getClass().getName(), ex);
            } else {
                LOG.warn("Failed to serialize extension {}: {}", extension.extension.getClass().getName(), ex.getMessage());
            }
            out.reset();
        }
    }