001
014
015 package com.liferay.portlet.dynamicdatamapping.util;
016
017 import com.liferay.portal.kernel.util.StringUtil;
018 import com.liferay.portal.kernel.xml.Document;
019 import com.liferay.portal.kernel.xml.DocumentException;
020 import com.liferay.util.xml.XMLFormatter;
021
022 import java.io.IOException;
023
024
028 public class DDMXMLImpl implements DDMXML {
029
030 public String formatXML(Document document) throws IOException {
031 return document.formattedString(_XML_INDENT);
032 }
033
034 public String formatXML(String xml) throws DocumentException, IOException {
035
036
037
038
039
040 xml = StringUtil.replace(xml, "&#", "[$SPECIAL_CHARACTER$]");
041
042 try {
043 xml = XMLFormatter.toString(xml, _XML_INDENT);
044 }
045 catch (org.dom4j.DocumentException de) {
046 throw new DocumentException(de.getMessage());
047 }
048
049 xml = StringUtil.replace(xml, "[$SPECIAL_CHARACTER$]", "&#");
050
051 return xml;
052 }
053
054 private static final String _XML_INDENT = " ";
055
056 }