Używam wbudowanego Java XML Transformer do serializowania dokumentu XML do tekstu. Mam problem jednak, gdy jestem wyjście w trybie HTML.W jaki sposób zapobiec dodawaniu znacznika <META> za pomocą języka Java Transformer przy użyciu metody "HTML"?
Po wstawieniu elementu head
wbudowany transformator decyduje się na wstawienie znacznika META
z danymi typu zawartości. Nie chcę tego tagu w moich danych i nie mogę znaleźć parametru wyjściowego, który wyłączy tę funkcję. Wiem, że mógłbym zbudować arkusz stylów xslt i usunąć dany tag, ale byłoby prostsze po prostu móc ustawić parametr na transformatorze, który go wyłącza.
Możesz odpowiedzieć "ale naprawdę powinieneś mieć tę etykietkę" - uwierz mi, nie potrzebuję tego, dla dobra braw nie wejdę w to.
Przykładowy kod
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);
powraca
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title><style type="text/css"></style></head><body></body></html>
Sprawa w punkcie, nie chcę tam że META
tag. Jak pozbyć się tego w najprostszy możliwy sposób?
UPDATE:
Mam natknąć opcją {http://xml.apache.org/xalan}omit-meta-tag
który ma robić to, co szukam. Wydaje się jednak, że jest to ignorowane.
zestawu ** xml ** wartość OutputKeys.METHOD. – adatapost
to musi być html dla tego, co robię – Mike
To standardowe zachowanie zgodne z XSLT "[specyfikacja] (http://www.w3.org/TR/xslt#section-HTML-Output-Method) i jest wymagane przez przeglądarki, jeśli używasz kodowania innego zestawu znaków niż domyślny. –