Я использую встроенный Java XML Transformer для сериализации XML-документа в текст. Однако у меня проблема при выводе в режиме HTML.
Всякий раз, когда я вставляю элемент head
, встроенный преобразователь решает вставить тег META
с данными типа содержимого. Мне не нужен этот тег в моих данных, и я не могу найти выходной параметр, который отключит эту функцию. Я знаю, что мог бы создать таблицу стилей xslt и удалить рассматриваемый тег, но было бы проще просто установить параметр на самом преобразователе, который отключает его.
Вы можете ответить «но у вас действительно должен быть этот тег» - поверьте мне, он мне не нужен, ради краткости я не буду вдаваться в подробности.
Пример кода
Document d;
//d = <html><head><title></title></head><body></body></html>
Transformer t; //properly inited with no xslt specified
t.setOutputProperty(OutputKeys.METHOD,"html");
t.setOutputProperty(OutputKeys.INDENT,"no");
t.transform(new DOMSource(d), result);
System.out.println(result);
1012 * возвращается *
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title><style type="text/css"></style></head><body></body></html>
Показательный пример, я не хочу этот тег META
там. Как мне избавиться от него самым простым способом?
UPDATE:
Я наткнулся на опцию {http://xml.apache.org/xalan}omit-meta-tag
, которая должна делать то, что я ищу. Однако кажется, что это игнорируется.