Я хочу преобразовать XML с помощью XSLT в Java. Для этого я использую пакет javax.xml.transform
. Однако я получаю исключение javax.xml.transform.TransformerConfigurationException: не удалось скомпилировать таблицу стилей
. Это код, который я использую:
public static String transform(String XML, String XSLTRule) throws TransformerException {
Source xmlInput = new StreamSource(XML);
Source xslInput = new StreamSource(XSLTRule);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(xslInput); // this is the line that throws the exception
Result result = new StreamResult();
transformer.transform(xmlInput, result);
return result.toString();
}
Обратите внимание, что я отметил строку, которая вызывает исключение. // ... общедоступная дата getSomeDate () {return someDate; } и Findbugs сообщает, что это открывает изменяемый объект: «Может ...
У меня есть метод получения Java, который выглядит следующим образом:
import java.util.Date;
//...
public Date getSomeDate() {
return someDate;
}
, а Findbugs сообщает, что это предоставляет изменяемый объект:« Может раскрыть внутреннее представление с помощью возврат ссылки на изменяемый объект ". Я изменил код на этот:
import java.util.Date;
//...
public Date getSomeDate() {
return new Date(someDate.getTime());
}
, но Findbug по-прежнему сообщает о той же уязвимости. Что еще я могу сделать, чтобы подавить / исправить эту проблему? Я использую Findbugs 1.3.9 в плагине IntellJ 10 Findbugs.